如果是熊猫,则基于数据框的colium值

时间:2020-02-07 02:30:22

标签: python python-3.x pandas dataframe pandas-groupby

我有以下数据框,如果数据框的值不为0,我想用1还是用另一个数据框列。

1 个答案:

答案 0 :(得分:1)

您可以使用np.where:

df['abc_new'] = np.where(df.abc.eq(0), df.xyz, df.xyz.div(df.abc))

timestamp       device  abc     xyz     abc_new
0   2019-11-08  device1 1000    2000    2.000000
1   2019-11-09  device1 2000    3000    1.500000
2   2019-11-10  device1 0       5000    5000.000000
3   2019-11-11  device1 0       5000    5000.000000
4   2019-11-12  device1 5000    2000    0.400000
5   2019-11-13  device1 6000    1000    0.166667

或者您可以使用:

df.xyz.div(df.abc.add(df.abc.eq(0)))