我有两个数据框:
df1:
Country_Name Population_1991 Population_1992
0 Colombia 33758337 34422569
1 Ecuador 3244345 324345455
2 France 362763732 372874749
3 UK 327874738 375960889
df2:
Period Trade_Flow Reporter Partner Trade_Value
0 1991 Import Colombia France 230723392
1 1991 Import Colombia UK 1237364
2 1992 Import Colombia France 230723392
3 1992 Import Colombia UK 1237364
4 1991 Import Ecuador France 230723392
5 1991 Import Ecuador UK 1237364
6 1992 Import Ecuador France 230723392
7 1992 Import Ecuador UK 1237364
我想要使用年份和Country_name在df2上加入df1。因此,从df2中的每一行来看一下Reporter国家/地区,并将其与df1中的Country_Name相匹配。取人口值并将其添加到Reporter_pop列中。对Partner_pop等执行相同的操作。 最终结果应如下所示:
Period Trade_Flow Reporter Partner Trade_Value Reporter_pop Partner_pop
0 1991 Import Colombia France 230723392 33758337 362763732
1 1991 Import Colombia UK 1237364 33758337 327874738
2 1992 Import Colombia France 230723392 34422569 372874749
3 1992 Import Colombia UK 1237364 34422569 375960889
4 1991 Import Ecuador France 230723392 3244345 362763732
5 1991 Import Ecuador UK 1237364 3244345 327874738
6 1992 Import Ecuador France 230723392 324345455 372874749
7 1992 Import Ecuador UK 1237364 324345455 375960889
谢谢。
答案 0 :(得分:0)
尝试此操作将使df1数据格式与df2相同:
import pandas as pd
df=pd.DataFrame({'Country_name':['columbia',
'ecuador', 'France'],
'pop_1991':[123325,453233,645632],
'pop_1992':[153232,478653,654324]})
df2=df.iloc[0:,[0,1]]
df2['Year']=1991
df2=df2.rename(columns={'pop_1991':'population'})
df3=df.iloc[0:,[0,2]]
df3['Year']=1992
df3=df3.rename(columns={'pop_1992':'population'})
df4=df2.append(df3,ignore_index=True)
发布此文件即可将您的数据合并年份和国家/地区 希望对您有帮助