Pandas转换名称相同且名称不同的名称?

时间:2017-03-03 19:52:14

标签: python python-3.x pandas

我正在尝试清理名称值,我有以下情况。

     ID  name
1     1    Company
2     1    Company, LLC

我想将其标准化,所以我只有一个这样的名字:

     ID  name
1     1    Company
2     1    Company

2 个答案:

答案 0 :(得分:2)

这将保留每个组的第一个元素,并沿着数据帧的整个大小进行广播:

df
Out[22]: 
   ID         name
0   1      Company
1   1  Company,LLC
2   2   Companybbb
3   2  Company,LLC
4   3   Companyccc
5   3  Company,LLC

df.groupby('ID')['name'].transform('first')
Out[21]: 
0       Company
1       Company
2    Companybbb
3    Companybbb
4    Companyccc
5    Companyccc
Name: name, dtype: object

答案 1 :(得分:0)

对于你的例子:

df.loc[df.name == 'Company, LLC', 'name'] = 'Company'

您可以重复使用相同的方法重新映射一系列值。正如MattR所述,如果您想要识别更多可能的匹配项,FuzzyWuzzy可以帮助您找到可能相同的字符串。