我的用户数据框架上有凌乱的城市(有些也缺失了)名称如下:
a = [['New York', '10460', '21', '321321.12' ],
['Brooklyn', '11219', '03', '2432567.52'], [' ', '11363', '320', '34325.543]]
userdf = pd.DataFrame(a, columns=['City', 'Post Code', 'Lat', 'Long])
userdf
现在,我想根据邮政编码修复City,Lat和Long列中的名称,方法是查看位置Dataframe中的相应邮政编码,其中包含以下官方详细信息:
location = [['Bronx', '10460', '21', '321321.12' ],
['Brooklyn', '11219', '03', '2432567.52'], [' ', '11363', '320', '34325.543]]
locationdf = pd.DataFrame(location, columns=['City', 'Post Code', 'Lat', 'Long])
我尝试了多种方式,但他们都在各方面都失败了。如何根据条件userdf
等于locationdf
,使用userdf['Post Code']
中的值更新locationdf['Post Code']
中的某些列。
答案 0 :(得分:1)
您可以使用.loc。例如,如果您想要更改城市。
userdf['City'] = locationdf.loc[userdf['Post Code']==locationdf['Post Code']]['City']