【发布时间】:2018-03-28 13:29:45
【问题描述】:
我有一个数据框,它取决于Order 列的值,我想取Value 列的值并进行一些计算。
DataFrame1
Order Shares Value
2011-01-10 BUY 1300 340.99
2011-01-10 SELL 1200 340.99
2011-01-11 SELL 1100 330.99
代码行:
impacts['NewValue']=float(impacts.Order.apply(lambda x: (impacts.Value + (impacts.Value * 0.006)) if x == 'SELL' else (impacts.Value - (impacts.Value * 0.006))))
错误:
TypeError: ufunc 'multiply' 不包含签名匹配类型 dtype('S32') dtype('S32') dtype('S32')的循环
我是否理解错误是由数字的内容引起的,因此这就是我尝试将其转换为浮点数的原因。
预期输出
Order Shares Value NewValue
2011-01-10 BUY 1300 340.99 338.94
2011-01-10 SELL 1200 340.99 343.03
2011-01-11 SELL 1100 330.99 332.97
我们非常欢迎任何帮助。谢谢!
【问题讨论】:
标签: python pandas dataframe conditional