Python 熊猫基于其他两列的划分创建新列

Python 熊猫基于其他两列的划分创建新列,python,pandas,Python,Pandas,嗨,我有下面的df,其中我希望新列是B/A的结果,除非B==0,在这种情况下,取C&D的平均值,除以A so((C+D)/2)/A 我知道怎么做df[“新列”]=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.3333

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

我知道怎么做df[“新列”]=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"])

我不知道为什么,但我不能绿色勾选它,但它起作用了