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