如何根据其他 pandas 数据框更新系列 [英] How to update series based on other pandas dataframe

查看:50
本文介绍了如何根据其他 pandas 数据框更新系列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想根据其他 Pandas 数据框更新数据,因为我只是收集更好的数据,这是数据集的示例

I want to update data based on other pandas dataframe because I just gather better data, here's the example of dataset

这是我的数据

No  Country    Language    Capital
1   Indonesia  Bahasa      Jakarta
2   Malaysia   Bahasa      Kuala Lumpur
3   Brunei     Bahasa      Bandar Seri Begawan
4   Nigeria    English     Abuja

我的第二个数据框

Nation     Capital City
Malaysia   Lagos
Nigeria    Putrajaya

我想要的是

No  Country    Language    Capital
1   Indonesia  Bahasa      Jakarta
2   Malaysia   Bahasa      Putrajaya
3   Brunei     Bahasa      Bandar Seri Begawan
4   Nigeria    English     Lagos

推荐答案

你可以使用新的 Seriesmap,为不存在的NationsNaN<创建/code>s,whcih 被替换为 填充:

You can use new Series with map, which create for non exist Nations NaNs, whcih are replaced by fillna:

s = df2.set_index('Nation')['Capital City']
df1['Capital'] = df1['Country'].map(s).fillna(df1['Capital'])
print (df1)
   No    Country Language              Capital
0   1  Indonesia   Bahasa              Jakarta
1   2   Malaysia   Bahasa                Lagos
2   3     Brunei   Bahasa  Bandar Seri Begawan
3   4    Nigeria  English            Putrajaya

或者使用 replace:

df1['Capital'] = df1['Country'].replace(s)

这篇关于如何根据其他 pandas 数据框更新系列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆