【发布时间】:2017-03-01 06:23:24
【问题描述】:
我在 Pandas DataFrame 中有一个计算列,需要根据条件进行分配。例如:
if(data['column_a'] == 0):
data['column_c'] = 0
else:
data['column_c'] = data['column_b']
但是,这会返回错误:
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。我感觉这与必须以矩阵样式完成的事实有关。将代码更改为三元语句也不起作用:
data['column_c'] = 0 if data['column_a'] == 0 else data['column_b']
有人知道实现此目的的正确方法吗?将 apply 与 lambda 一起使用?我可以通过循环进行迭代,但我宁愿将其作为 Pandas 的首选方式。
【问题讨论】: