根据“ B”列的条件,从“ A”列计算“ NEW COLUMN”

时间:2019-08-06 16:48:00

标签: python pandas dataframe

我的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)

1 个答案:

答案 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