首页 > 解决方案 > 匿名熊猫数据框列

问题描述

假设,我有以下数据框。

Person_info
(Bob, 2)
(John, 1)
(Bek, 10)
(Bob, 6)

我想通过保持他们的价值来匿名。

Person_info
(Person 1, 2)
(Person 2, 1)
(Person 3, 10)
(Person 1, 6)

我在这里有简单的匿名方法,但它无助于我想要得到的东西。

有人可以在 Pandas Python 中提供帮助吗?

标签: pythonpandasdataframe

解决方案


按照这个问题,您可以使用strip()andsplit()方法:

out=df['Person_info'].str.strip('()| ').str.split(',',1,expand=True)

然后factorize()按照这个答案使用方法:

out[0]='Person' + pd.Series(pd.factorize(out[0])[0] + 1).astype(str)

最后使用agg()方法:

df['Person_info']=out.agg(tuple,1)

输出df

    Person_info
0   (Person1, 2)
1   (Person2, 1)
2   (Person3, 10)
3   (Person1, 6)

推荐阅读