【发布时间】:2021-04-20 01:28:44
【问题描述】:
如果我有一个 pandas 数据框,例如:
a b c
1 2 3
1 2 -3
2 3 2
4 2 -1
如何根据c中的值是正还是负来改变b列的值,并在操作中使用b和a中的值。
我想在每一行上运行这样的东西:
if (c >= 0):
b = a - b
else:
b = b - a
并获取数据框:
a b c
1 -1 3
1 1 -3
2 -1 2
4 -2 -1
【问题讨论】:
-
for循环可能吗? -
使用
np.where:df.assign(b=np.where(df.c.ge(0), df.a - df.b, df.b - df.a))
标签: python pandas dataframe if-statement iteration