在Pandas数据帧中识别组中重复项的更好方法?

2024-09-27 04:11:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧

   x  c
0  0  1
1  3  2
2  1  1
3  2  1
4  3  1
5  4  1
6  1  0
7  3  1
8  2  1
9  1  2

我想生产

^{pr2}$

即首先按c分组,并标记组中所有重复的行。在

我目前的做法是

c = np.random.randint(0, 3, 10)
x = np.random.randint(0, 5, 10)
d = pd.DataFrame({'x': x, 'c': c})
d['duplicated'] = d.groupby('c').apply(
    lambda x: x.duplicated(keep=False)
).reset_index(level=0, drop=True)

有更好的办法吗?在


Tags: 数据lambda标记falsedataframenprandompd
1条回答
网友
1楼 · 发布于 2024-09-27 04:11:34

仅使用^{}-默认情况下,它验证所有列:

d['duplicated'] = d.duplicated(keep=False)
print (d)
   x  c  duplicated
0  0  1       False
1  3  2       False
2  1  1       False
3  2  1        True
4  3  1        True
5  4  1       False
6  1  0       False
7  3  1        True
8  2  1        True
9  1  2       False

^{pr2}$

相关问题 更多 >

    热门问题