我确信以前已经有人问过这个问题,但我无法以某种方式表达它,以便我找到类似的问题。我想做的是删除数据帧的行,其中删除具有相同项目名称且全部值为 0 的行。
例如。我的一栏是“项目名称”,另一栏是“值”。 “项目名称”可能会重复多次。我想检查每个“itemname”,如果所有其他同名项目的值为 0,则删除这些行
我知道这应该很简单,但我无法理解它。
为了更清楚,这里
itemname value
0 a 0
1 b 100
2 c 0
3 a 0
4 b 75
5 c 90
由于所有 a 项的值为 0,因此应该删除它们。
itemname value
1 b 100
2 c 0
3 b 75
4 c 90
希望这是有道理的。我检查是否有其他人问过类似的问题,但在这种情况下找不到任何内容。
最佳答案
用途:
df = df[df.groupby('itemname')['value'].transform('any')]
print (df)
itemname value
1 b 100
2 c 0
4 b 75
5 c 90
关于python - 根据条件删除 pandas 数据框的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52593023/