我有一个很长的数据集,存储为一个数据框。我正在查看的列称为“国家”。此专栏包含许多国家。问题是我想将各种值更改为“ USA”。 我试图改变的价值观是 我们 美国 美国 等等 我经历了太多的变化和错别字(超过100个)。有没有更简单的方法来更改这些值?由于数据集中还有其他国家/地区,因此我不能仅将所有值更改为美国
答案 0 :(得分:1)
您可以做的一件事就是坚持每个单词的第一个字母。对于所有实例,第一个字母为U
,对于第二部分(如果拆分整个字符串)为S
。在这里,我使用的是正则表达式包,该包通常在您处理文本时使用。
Import re
Split_parts = [re.split(r'[^A-Z,^a-z]', i) for i in df['country']]
上面的代码行根据任何非字母字符(例如,句点,逗号,分号等)分割字符串。
拆分后,您可以创建一个for循环,如果第一个字符分别为U和S,则该循环将生成True
和False
元素。
value= []
for i in Split_parts:
if i[0][0] in ['u','U'] and i[1][0] in ['s','S']:
value.append(True)
else:
value.append(False)
之后,您可以将字符串替换为所需的字符串(即美国):
for i in range(len(value)):
if value[i]==True:
df['country'][i]='USA'
世界上唯一将U和S分别作为单词首字母的国家是美国。这里的解决方案不能解决您可能遇到的所有问题。对于每个人,您都必须寻找差异。