为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas 根据其他两列的划分创建新列

Pandas 根据其他两列的划分创建新列

慕码人8056858 2023-09-12 19:07:38
您好,我有以下 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 Column5   3   2   4   0.6                 0.66   2   2   3   0.333         0.3333333338   4   3   4   0.5                 0.59   0   3   4   0             0.38888888914  3   3   4   0.214          0.2142857145   0   2   4   0                   0.6
查看完整描述

1 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

干得好:

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


查看完整回答
反对 回复 2023-09-12
  • 1 回答
  • 0 关注
  • 47 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信