我有一个 Pandas DataFrame 中的计算列,需要根据条件进行赋值。例如:
if(data['column_a'] == 0):
data['column_c'] = 0
else:
data['column_c'] = data['column_b']
然而,这会返回一个错误:
ValueError: 系列的真值是模棱两可的。请使用a.empty、a.bool()、a.item()、a.any()或a.all()。
我有一种感觉这与必须按矩阵方式进行有关。 将代码更改为三元语句也不起作用:
data['column_c'] = 0 if data['column_a'] == 0 else data['column_b']
有人知道实现这个的正确方法吗?使用带有 lambda 的 apply 吗?我可以通过循环迭代来实现,但我更愿意保持 Pandas 的首选方式。