有两个数据帧,一个包含城市的ground_truth,另一个是从其他文件中随机读取的。
ground_truth = pd.DataFrame(['New York','Denvor','Cleveland'],columns = ['cities'])
random_df = pd.DataFrame(['DenvoR','cleveland'],columns = ['cities'])
需要比较两个数据框,将random_df cities
列与ground_truth cities
列进行比较,如果病例混乱,则更改为ground_truth城市。 到目前为止,我使用了循环,它可以工作但不优雅。有什么建议吗?
s1=df.cities.str.upper()
s2=random_df.cities.str.upper()
df.loc[s1.isin(s2),'cities']=s1.map(dict(zip(s2,random_df.cities)))
df
cities
0 New York
1 DenvoR
2 cleveland