Python 熊猫基于其他两列的划分创建新列
嗨,我有下面的df,其中我希望新列是B/A的结果,除非B==0,在这种情况下,取C&D的平均值,除以A so((C+D)/2)/A 我知道怎么做df[“新列”]=df[“B”]/df[“A”],但我不确定你会怎么做。我是否需要遍历df的每一行并使用条件if语句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
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"])
我不知道为什么,但我不能绿色勾选它,但它起作用了