我得到了2个df第一个按国家和年份的购买价格
年度 | 购买 | 国家|
---|---|---|
1999年 | 23加拿大 | |
2000 | 24 | 加拿大[/tr>|
1999年 | 21年 | 中国|
2999 | 22 | 中国
您可以将两个表连接在一起。
merged_df = df1.merge(df2,
on = ['year'],
how = 'left')
merged_df['ratio'] = merged_df['price']/merged_df['purchase']
merged_df.drop('price', axis = 1)
您可以执行reindex
和rdiv
df1['ratio'] = df1['purchase'].rdiv(df2.set_index('year')['price'].reindex(df1['year']).values)
df1
Out[316]:
year purchase country ratio
0 1999 23 Canada 1.086957
1 2000 24 Canada 1.125000
2 1999 21 China 1.190476
3 2999 22 China NaN