繁体   English   中英

通过查找其他数据框替换数据框中的列

[英]Replace Column in Data Frame from Lookup of other Data Frame

嗨,我有两个数据框,其中一个包含:

<p>Country Code | Population </p>

另一个包含:

<p>Country Code | Country Name. </p>

我想在第一个数据框中进行替换,以便在适用的情况下使用CountryCode = CountryName。 重要的是要注意查找是否失败,即我想保持第二个数据帧中没有匹配的CountryCode。 任何想法如何做到这一点?

样品:-

<p>Country Code | Population </p>
<p>RSA | 100</p>
<p>POL | 50</p>

<p> Country Code | Country Name </p>
<p> RSA | South Africa </p>

DF1的预期输出

<p> Country Code | Population </p>
<p> South Africa | 100 </p>
<p> POL | 50 </p>

如果您的两个数据帧分别是df1df2 ,则这是一种方法:

s = df2.set_index('Country Code')['Country Name']
df1['Country Code'] = df1['Country Code'].map(s).fillna(df1['Country Code'])

也可以通过replace ,但是map + fillna通常更有效。

使用由set_index创建的Series replace

s = DF2.set_index('Country Code')['Country Name']
DF1['Country Code'] = DF1['Country Code'].replace(s)
print (DF1)
   Country Code  Population
0  South Africa         100
1           POL          50

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM