删除Panda数据帧中RGB值为黑色(0,0,0)的行



我有一个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)

最新更新