我正在尝试基于单个列删除特定列的重复值,同时保留该行的其余部分。
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
而不是空字符串,以免弄乱数据类型
关于Python Pandas 删除重复的单元格 - 保留行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52338468/