gpt4 book ai didi

python - 如何在 pandas DataFrame 中查找特定列的重复行,并通过添加计数器来修改值?

转载 作者:行者123 更新时间:2023-12-05 04:39:19 29 4
gpt4 key购买 nike

为简单起见,考虑一个包含 2 列的数据框。第一列是 label,它对数据集中的一些观察值具有相同的值。

示例数据集:

import pandas as pd

data = [('A', 28),
('B', 32),
('B', 32),
('C', 25),
('D', 25),
('D', 40),
('E', 32) ]

data_df = pd.DataFrame(data, columns = ['label', 'num'])

对于 label 列,我想查找具有相似值的行。并将其值转换为 value_counter,如下所示:

label   num
A 28
B_1 32
B_2 32
C 25
D_1 25
D_2 40
E 32

我尝试使用 pandas groupby,但我不知道我必须使用哪个 transform

感谢您的帮助。

最佳答案

您可以使用:

s = data_df.groupby('label').cumcount()+1
data_df['label'] = np.where(data_df.duplicated(subset='label', keep=False),
data_df['label'] + '_' + s.astype(str), data_df['label'])

输出

  label  num
0 A 28
1 B_1 32
2 B_2 32
3 C 25
4 D_1 25
5 D_2 40
6 E 32

关于python - 如何在 pandas DataFrame 中查找特定列的重复行,并通过添加计数器来修改值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70460347/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com