我有一个在 A 列中有重复值的数据框。我想删除重复项,在 B 列中保留其值 > 0 的行
所以:
A B
1 20
1 10
1 -3
2 30
2 -9
2 40
3 10
应该变成这样:
A B
1 20
1 10
2 30
2 40
3 10
关于如何实现这一目标的任何建议?我将不胜感激!
答案 0 :(得分:0)
样本数据不是重复的,所以只使用:
df = df[df['B'].gt(0)]
print (df)
A B
0 1 20
1 1 10
3 2 30
5 2 40
6 3 10
如果有重复:
print (df)
A B
0 1 20
1 1 10
2 1 10
3 1 10
4 1 -3
5 2 30
6 2 -9
7 2 40
8 3 10
df = df[df['B'].gt(0) & ~df.duplicated()]
print (df)
A B
0 1 20
1 1 10
5 2 30
7 2 40
8 3 10