Python 查找并替换DataFrame列中匹配但不区分大小写的所有字符串
我有一个熊猫数据框,它有一个分类列:Python 查找并替换DataFrame列中匹配但不区分大小写的所有字符串,python,regex,pandas,dataframe,replace,Python,Regex,Pandas,Dataframe,Replace,我有一个熊猫数据框,它有一个分类列: df = pd.DataFrame({'Source': ['Coronavirus','Sars','sars','coronavirus', 'CoronaVirus','Sars']}) df["Source"] = df["Source"].astype('category') print(df) Source 0 Coronavirus 1 Sars 2
df = pd.DataFrame({'Source': ['Coronavirus','Sars','sars','coronavirus',
'CoronaVirus','Sars']})
df["Source"] = df["Source"].astype('category')
print(df)
Source
0 Coronavirus
1 Sars
2 sars
3 coronavirus
4 CoronaVirus
5 Sars
请注意文本书写方式的差异,例如(冠状病毒vs.冠状病毒vs.冠状病毒)。
我希望实现的是将所有相同的文本,即冠状病毒和非典型肺炎,但无论其如何书写(首字母大写等),都进行转换,并统一所有文本。因此,期望的输出是:
Source
0 Coronavirus
1 Sars
2 Sars
3 Coronavirus
4 Coronavirus
5 Sars
最终结果如何产生并不重要(冠状病毒或冠状病毒)
提前感谢。请使用,因为此函数默认为小写:
df["Source"] = df["Source"].str.capitalize()
df["Source"] = df["Source"].str.title()
print (df)
Source
0 Coronavirus
1 Sars
2 Sars
3 Coronavirus
4 Coronavirus
5 Sars
如果需要单独大写每个单词(如果在实际数据中,值有2个或更多单词),则默认情况下也使用小写:
df["Source"] = df["Source"].str.capitalize()
df["Source"] = df["Source"].str.title()
print (df)
Source
0 Coronavirus
1 Sars
2 Sars
3 Coronavirus
4 Coronavirus
5 Sars
@JvdV-你是罗格特,刚刚测试过。因为
大写
或标题