我正在尝试基于单个列删除特定列的重复值,同时保留行的其余部分。
df = pd.DataFrame({'A':[1,2,3,4],'B':[5,5,6,7],'C':['a','a','b',c'], D:['c','d','e','f']})
我想根据C列中的重复项删除A列和B列中的值,但保留D列的所有值。
预期产出:
A B C D
1 5 a c
d
3 6 b e
4 7 c f
使用简单loc
df.loc[df.C.duplicated(), ['A', 'B']] = ''
A B C D
0 1 5 a c
1 a d
2 3 6 b e
3 4 7 c f
也可以使用np.nan
代替空字符串,以免弄乱 dtypes