熊猫-将行中的值设置为其自身乘以另一个值

假设我有下表:


multiply   total   tax

Y          500     .1

Y          250     .5

N          300     .5

仅当乘积的值为Y时,我才希望将总计设置为total * tax


最终输出:


multiply   total   tax

Y          50      .1

Y          125     .5

N          300     .5


jeck猫
浏览 133回答 3
3回答

长风秋雁

用 np.wheredf['total'] = np.where(df['multiply'] == 'Y', df['total'] * df['tax'], df['total'])print(df)multiply  total  tax       Y   50.0  0.1       Y  125.0  0.5       N  300.0  0.5

MM们

在这里,我们哥们df.loc[df.multiply == 'Y', 'total'] = df.loc[df.multiply == 'Y', 'total'] * df.loc[df.multiply == 'Y', 'tax']

慕容森

可以那样做df.loc[df['multiply'] == 'Y', 'total'] = df.loc[df['multiply'] == 'Y', 'total'] * df.loc[df['multiply'] == 'Y', 'tax']使用pandas where和assign的另一种方法是:df.where(df['multiply'] == 'N', df.assign(total = df['total'] * df['tax']))输出:    multiply    total   tax0   Y           50      0.11   Y           125     0.52   N           300     0.5
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python