繁体   English   中英

需要比较 pandas 中两个数据帧的两列

[英]Need to compare two columns from two dataframes in pandas

我需要比较两个数据帧之间的第一列值,并通过将该值与第二个 dataframe 的第二列相乘来更改第二列的值

数据框1

Money   Currency
 34       USD
 31       EUR
 20       JPY

数据框2

Curr   Value
EUR     1.21
JPY     0.78

我的预期 output

 Money            Currency
  34                 USD
  37.51(31*1.21)     USD
  15.6(20*0.78)      USD

提前致谢

Series.map与第二个 DataFrame 和fill_value的倍数一起使用(如果样本数据中没有像USD那样的匹配值,则存在Series.mul for multiple by 1 ,因此创建了缺失值):

s = dataframe2.set_index('Curr')['Value']
dataframe1['Money'] = dataframe1['Currency'].map(s).mul(dataframe1['Money'], fill_value=1)

dataframe1['Currency'] = 'USD'

print (dataframe1)
   Money Currency
0  34.00      USD
1  37.51      USD
2  15.60      USD

详情

print (dataframe1['Currency'].map(s))
0     NaN
1    1.21
2    0.78
Name: Currency, dtype: float64

暂无
暂无

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

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