我正在尝试清理名称值,我有以下情况。
ID name
1 1 Company
2 1 Company, LLC
我想将其标准化,所以我只有一个这样的名字:
ID name
1 1 Company
2 1 Company
答案 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可以帮助您找到可能相同的字符串。