Python Pandas 删除重复的单元格 - 保留行

标签 python pandas duplicates

我正在尝试基于单个列删除特定列的重复值,同时保留该行的其余部分。

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/

相关文章:

Python 通过 &lt;style&gt; 在 <div> 中查找特定行

python - PySpark 拖放行

python - 是否有更有效的方法将一个列表从另一个列表的中心分割出来?

python - 维基百科 API 查询返回 xml

Python:将日期时间提取为年、月和日结果为 float

php - 当一些用户尝试将信息插入数据库时​​出现重复的 Id 条目 - Php

python - 在 python 中复制列表列表?

python - .loc[索引, 列] 和 .loc[索引][列] 之间有什么区别?

python - Pandas read_excel 返回 'not enough values to unpack (expected 2, got 1)'

sql - 在 SQL Server 中查找重复的行组