【发布时间】:2020-02-23 23:50:40
【问题描述】:
这是我的数据框:
df={'pack':[2,2,2,2], 'a_cost':[10.5,0,11,0], 'b_cost':[0,6,0,6.5]}
应该是这样的:
此时您会发现 a_cost 和 b_cost 列有 0,而其他列有值。我希望我的函数遵循这个逻辑......
for i in df.a_cost:
if i==0:
b_cost(column):value *(multiply) pack(column):value
replace 0 with this new multiplied value (example: 6.0*2=12)
for i in df_b.cost:
if i==0:
a_cost(column):value /(divide) pack(column):value
replace 0 with this new divided value (example: 10.5/2=5.25)
我无法弄清楚如何成功编写此逻辑...这是预期的输出:
代码输出:
df={'pack':[2,2,2,2], 'a_cost':[10.5,12.0,11,13.0], 'b_cost':[5.25,6,5.50,6.5]}
非常感谢您的帮助!
【问题讨论】:
标签: python pandas dataframe for-loop if-statement