python - 无法删除熊猫中具有特定条件的行
问题描述
我(再次)有一个在熊猫中进行数据帧处理的问题。
四列:Name
, Sample
, A1_TOP
, A2_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
那行应该被删除。但事实并非如此。type(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'] != '-')]
推荐阅读
- javascript - 如何在 HTML5 视频元素上获取视频的帧率
- database - Google 表格可以用作“多用户”数据库吗?
- python - Pyhon中的条件子集
- python - 'numpy.float64' 对象没有属性 'apply'
- python - 在 Optimal 之后获得下一个最佳解决方案
- dummy-variable - ML:虚拟变量陷阱或为什么我们有 n-1 个虚拟变量的原因?
- javascript - 为什么 ChartJS 不能在 Windows 10 机器上运行?(在 MacOS 上运行良好)
- sql-server - CTE 产生意外结果
- c - 为什么要使用变量的地址来改变变量的值?
- java - 使用 google tink 库解密密钥时出现标签不匹配错误