首页 > 解决方案 > 如果从另一列满足字符串条件,则在 Pandas 中执行计算

问题描述

我有以下数据框

Day    Sales    Qty     Paid
1        10      2        Y
2        20      5        N
3        30      5        N
4        20      6        Y
5        50      2        Y

我只是希望创建另一个相乘的列SalesQty如果Paid列 = Y,如果不是,Y则计算0 - df['Qty']

我试过了:

df['total'] = df['Paid'].apply(lambda x: df['Sales']*df['Qty'] if x == 'Y' else (0-df['Qty'])

我得到一个TypeError: unsupported operand type(s) for -: 'str' and 'int'

也开放更快/更有效的方式来完成这个过程。任何帮助将不胜感激!

标签: pythonpandas

解决方案


推荐阅读