熊猫根据另外两列的划分创建新列



Hi我有下面的df,其中我希望新列是B/A的结果,除非B==0,在这种情况下取C&D除以A so(((C+D(/2(/A。

我知道怎么做df["New Column"] = df["B"]/df["A"],但我不确定你会怎么做——我想怎么做。我是否需要遍历df的每一行并使用条件if语句?

A   B   C   D   New Column  Desired Column
5   3   2   4   0.6                 0.6
6   2   2   3   0.333         0.333333333
8   4   3   4   0.5                 0.5
9   0   3   4   0             0.388888889
14  3   3   4   0.214          0.214285714
5   0   2   4   0                   0.6

开始:

import numpy as np
df["new Column"] = np.where(df["B"] != 0, df["B"]/df["A"], (df["C"]+df["D"])/2/df["A"])

最新更新