无法删除熊猫中具有特殊条件的行

时间:2019-05-18 22:00:46

标签: python pandas dataframe

我(再次)对熊猫进行了数据帧处理。

四列:NameSampleA1_TOPA2_TOP

有时在A1_TOPA2_TOP中我有一个空白。间隙是符号“-”或“ 0”。 我写了一行代码来删除包含间隙表格的行。

a =我的数据框。

我的代码:

a = a.loc[(a['A1_TOP'] != '-') | (a['A2_TOP'] != '-')]
a = a.loc[(a['A1_TOP'] != '0') | (a['A2_TOP'] != '0')]

但是当我运行它时,我没有任何错误。结果是数据框仍然缩小了差距。昨天我还有另一个文件要处理,这部分代码工作正常。今天不。

例如,我在数据框的第一行中有一个空白:

Name Sample A1_TOP A2_TOP
Adam  Smith   -     B    

该行应删除。但事实并非如此。 type(df['A1_TOP][0]) = str,因此类型不是问题。

有人可以告诉我这段代码有什么问题吗?

编辑: 如果我这样分割命令:

a = a.loc[a['A1_TOP'] != '-']
a = a.loc[a['A2_TOP'] != '-']

它起作用了……但是为什么第一种方法不起作用?

1 个答案:

答案 0 :(得分:1)

应该是&吗?

a = a.loc[(a['A1_TOP'] != '-') & (a['A2_TOP'] != '-')]
相关问题