gpt4 book ai didi

pandas - 匿名数据/替换名称

转载 作者:行者123 更新时间:2023-12-05 01:00:30 25 4
gpt4 key购买 nike

我通常使用 hashlib 和 .apply(hash) 函数来匿名化我的数据。

现在我正在尝试一种新方法,想象一下我必须遵循名为“数据”的 df:

df = pd.DataFrame({'contributor':['eric', 'frank', 'john', 'frank', 'barbara'],
'amount payed':[10,28,49,77,31]})

contributor amount payed
0 eric 10
1 frank 28
2 john 49
3 frank 77
4 barbara 31

我想通过将名称全部转换为 person1person2 等来匿名化,如下所示:

output = pd.DataFrame({'contributor':['person1', 'person2', 'person3', 'person2', 'person4'],
'amount payed':[10,28,49,77,31]})

contributor amount payed
0 person1 10
1 person2 28
2 person3 49
3 person2 77
4 person4 31

所以我的第一个想法是总结 name 列,以便将名称附加到唯一索引,我可以将该索引用于“人”之后的数字。

最佳答案

我认为更快的解决方案是使用 factorize对于唯一值,添加 1,转换为 Seriesstring 并预先添加 Person 字符串:

df['contributor'] = 'Person' + pd.Series(pd.factorize(df['contributor'])[0] + 1).astype(str)
print (df)
contributor amount payed
0 Person1 10
1 Person2 28
2 Person3 49
3 Person2 77
4 Person4 31

关于pandas - 匿名数据/替换名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49309060/

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