Python Can';t删除熊猫中具有特定条件的行
我(再次)遇到了熊猫数据帧处理的问题 四列:Python Can';t删除熊猫中具有特定条件的行,python,pandas,dataframe,Python,Pandas,Dataframe,我(再次)遇到了熊猫数据帧处理的问题 四列:Name,Sample,A1\u-TOP,A2\u-TOP 有时在A1_-TOP或A2_-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\u-TOP
,A2\u-TOP
有时在A1_-TOP
或A2_-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
那一行应该被删除。但事实并非如此<代码>类型(df['A1_TOP][0])=str所以类型没有问题
有人能告诉我这个代码有什么问题吗
编辑:
如果我这样拆分命令:
a = a.loc[a['A1_TOP'] != '-']
a = a.loc[a['A2_TOP'] != '-']
它是有效的。。。但是为什么第一种方法不呢?应该是
&
a = a.loc[(a['A1_TOP'] != '-') & (a['A2_TOP'] != '-')]
里面有空白吗?所以它可能是“-`not'-'谢谢你的回答,但不是:(
a['A1_TOP'][1]='-'
。哦……这是工作。但是为什么?它不是“AND”?它不应该是这样,只有当两列中都有间隙时它才会运行?@Artur是的,或者说它们中的任何一个满足条件,它将返回真实值