比较两列 Pandas 数据帧,如果不同,请使用正确的一列



有两个数据帧,一个包含城市的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

最新更新