我有两个df
:
df2
dec_pl cur_key
0 JPY
1 HKD
df1
cur amount
JPY 80
HKD 20
USD 70
我喜欢引用df2
中的del_pl
表示df1
中的'cur',并计算df1.converted_amount = df1.amount * 10 ** (2 - df2.dec_pl)
表示df1
;i、 例如df1.amount
乘以10的(2 - df2.dec_pl)
的幂,如果从df1.cur
中找不到对应的df2.cur_key
,例如USD
,那么就用它的量
df1 = df1.set_index('cur')
df2 = df2.set_index('cur_key')
df1['converted_amount'] = (df1.amount*10**(2 - df2.dec_pl)).fillna(df1['amount'], downcast='infer')
但我有
ValueError: cannot reindex from a duplicate axis
我想知道最好的方法是什么,所以结果应该是这样的
df1
cur amount converted_amount
JPY 80 8000
HKD 20 200
USD 70 70
可能的问题是
cur_key
列中存在重复项,如:解决方案是唯一
cur_key
的聚合副本-例如,通过sum
:或删除重复项-仅保留每个
cur_key
的第一个或最后一个值:相关问题 更多 >
编程相关推荐