【发布时间】:2019-12-26 01:21:51
【问题描述】:
我知道你可以使用
df1 = df1[df1['Computer Name'] != 'someNameToBeDropped']
将给定的字符串作为一行删除
如果我想反其道而行之怎么办。假设删除除字符串列表中的所有内容之外的所有内容。
有没有我没有注意到的简单 hack?
【问题讨论】:
-
df1 = df1[df1['Computer Name'] == 'someNameNOTToBeDropped']? -
@harvpan 有正确的解决方案,但
~是一个有趣的运算符。df1[~(df1['Computer Name'] != 'someNameToBeDropped')] -
harv 有正确的解决方案,因为列的可能值中只有两个名称。对于
n值,~是要走的路;p -
注:以上都很好,但我更喜欢使用
loc,因为它是一个矢量化的内置方法df1 = df1.loc[~(df1['Computer Name'] != 'someNameToBeDropped'), :] -
但它会丢弃除 'someNameNOTToBeDropped' 之外的所有内容吗?
标签: python excel python-3.x pandas numpy