我有一个csv表,看起来像这个
pixIndex X Y R G B
1 0 0 227 227 227
2 1 0 237 237 237
3 2 0 0 0 0
4 3 0 232 232 232
5 4 0 233 233 233
... ... ... ... ... ... ...
我想删除那些有黑点的行,即0,0,0。
目前我有这个代码:
import pandas as pd
df = pd.read_csv("outputdata.txt", header=None, names =["pixIndex","X","Y","R","G","B"] )
print(df)
df = df.drop(df.query('R==0 & G==0 & B==0'))
print(df)
然而,在我进行df.drop((调用的那一行,我收到一个错误,说
"pixIndex","X","Y","R","G","B" not found in axis"
我已经看了这两个SO问题,但仍然无法修复我的代码
使用pandas从csv中删除特定行
pandas:索引数据帧时存在多个条件-的意外行为
为什么会发生这种情况,我该如何解决?
请提供任何帮助。谢谢!:(
带任意:
df[df[['R','G','B']].ne(0).any(1)]
带查询:
df.query('R!=0 & G!=0 & B!=0')
使用您的查询和df.drop版本,并为drop添加df.index:
df.drop(df.query('R==0 & G==0 & B==0').index)