我的DF大致有以下几列:日期,金额,货币。
有几种货币类型。
我需要创建一个新列(USD),该列将是 (AMOUNT * EXCHANGE RATE)基于CURRENCY类型。
有多种适用的汇率。
我不知道要这样做的代码/方法。
也许df.where()应该有所帮助,但我一直遇到错误。
谢谢
df['RUR'] = df.where(df['CUR']=='KES', df['AMOUNT']*3, axis=1)
or
df['RUR'] = df['AMOUNT'].apply(lambda x: x*2 if df['CUR']=='KES' else None)
答案 0 :(得分:2)
使用np.where
import numpy as np
df['RUR'] = np.where(df['CUR']=='KES',df['AMOUNT']*3,np.nan)
您可以使用.loc并在其中应用条件。
df.loc[df['CUR']=='KES','RUR']=df['AMOUNT']*3