python – 根据列值删除Pandas中的DataFrame行 – 要删除的多个
发布时间:2020-12-20 12:33:21 所属栏目:Python 来源:网络整理
导读:我有一个值列表(事先不知道,在 Python列表中),我的Panda DataFrame中的列不能包含所有行. Web上的所有配方(如this one)都显示了如何只使用一个要排除的值,但我有多个要排除的值.我该怎么做? 请注意,我无法在我的代码中硬编码要排除的值. 谢谢! 解决方法 你
我有一个值列表(事先不知道,在
Python列表中),我的Panda DataFrame中的列不能包含所有行.
Web上的所有配方(如this one)都显示了如何只使用一个要排除的值,但我有多个要排除的值.我该怎么做? 请注意,我无法在我的代码中硬编码要排除的值. 谢谢! 解决方法
你可以做负
isin()索引:
In [57]: df Out[57]: a b c 0 1 2 2 1 1 7 0 2 3 7 1 3 3 2 7 4 1 3 1 5 3 4 2 6 0 7 1 7 5 4 3 8 6 1 0 9 3 2 0 In [58]: my_list = [1,7,8] In [59]: df.loc[~df.b.isin(my_list)] Out[59]: a b c 0 1 2 2 3 3 2 7 4 1 3 1 5 3 4 2 7 5 4 3 9 3 2 0 或使用query()功能: In [60]: df.query('@my_list not in b') Out[60]: a b c 0 1 2 2 3 3 2 7 4 1 3 1 5 3 4 2 7 5 4 3 9 3 2 0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |