对于我的毕业设计项目,我想删除重复的行,并且只保留一行,其中列b和c等于列a中的值。我尝试了很多东西,groupby,Merge组合和重复,但到目前为止还没有任何效果。你能帮我么?非常感谢!
输入:
a b c
0 1 A B
1 1 A A
2 1 A C
3 2 B A
4 2 B B
结果:
a b c
1 1 A A
4 2 B B
答案 0 :(得分:0)
我相信你需要:
print (df)
a b c
0 1 A B
1 1 A A
2 1 A C
3 2 B A
4 2 B B
5 3 C C
6 4 C NaN
7 4 C E
7 5 NaN E
用正向和反向填充替换NaN
:
df1 = df[['b','c']].bfill(axis=1).ffill(axis=1)
print (df1)
b c
0 A B
1 A A
2 A C
3 B A
4 B B
5 C C
6 C C
7 C E
7 E E
检查df1
中的条件,因为相同的索引可能会过滤df
:
df = df[df1['b'] == df1['c']]
print (df)
a b c
1 1 A A
4 2 B B
5 3 C C
6 4 C NaN
7 5 NaN E