从其他数据帧的查找中替换数据帧中的列

2024-03-29 09:05:32 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有两个数据帧,一个是c包含:你知道吗

<p>Country Code | Population </p>

还有一个c包含:你知道吗

<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>

Tags: 数据name样品codersacountrydf1countrycode
2条回答

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

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

这也可以通过replace实现,但是map+fillna通常效率更高。你知道吗

使用由^{}创建的^{}by Series

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

相关问题 更多 >