gpt4 book ai didi

python - 按字母顺序重命名 Pandas 中的列值

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:21 25 4
gpt4 key购买 nike

我有一个大型数据集,其中有一列包含个人姓名,按 value_counts() 总共有 60 个姓名。我不想在分析数据时显示这些名称,而是想将它们重命名为 participant_1, ... ,participant_60

我还想按字母顺序重命名这些值,以便以后能够找出谁是 participant_1

我首先创建了一个新名称列表:

newnames = [f"participant_{i}" for i in range(1,61)]

然后我尝试使用函数df.replace

df.replace('names', 'newnames')

但是,我不知道在哪里指定我希望 participant_1 替换按字母顺序排在第一位的名称。有什么建议或更好的解决方案吗?

最佳答案

如果需要按字母顺序替换列中的值,请使用 Categorical.codes :

df = pd.DataFrame({
'names':list('bcdada'),

})

df['new'] = [f"participant_{i}" for i in pd.Categorical(df['names']).codes + 1]
#alternative solution
#df['new'] = [f"participant_{i}" for i in pd.CategoricalIndex(df['names']).codes + 1]

print (df)
names new
0 b participant_2
1 c participant_3
2 d participant_4
3 a participant_1
4 d participant_4
5 a participant_1

关于python - 按字母顺序重命名 Pandas 中的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55917803/

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