嗨,我有以下df,其中我希望新列为B / A的结果,除非B == 0,在这种情况下取C&D的平均值并除以A,所以((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
答案 0 :(得分:2)
您在这里:
import numpy as np
df["new Column"] = np.where(df["B"] != 0, df["B"]/df["A"], (df["C"]+df["D"])/2/df["A"])