gpt4 book ai didi

python - 如何将 pd.apply 与我自己的带有 1 个输入参数的自定义函数一起使用

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:41 25 4
gpt4 key购买 nike

<分区>

所以我有一个自定义函数,我想将其应用于 DataFrame 中的一行数据,但是我如何包含我需要的额外参数我在下面给出了一个示例

# Using df.apply
df = pd.DataFrame({"A": [1,2,3]})
sum_A = np.sum(df.A)

def calc_weight(row, total):
row["weights"] = row["A"]/total

df.apply(calc_weight(row, sum_A), axis = 1)
# Gives NameError: name 'row' is not defined

df.apply(calc_weight(row, sum_A), axis = 1)
# TypeError: calc_weight() missing 1 required positional argument: 'total'

我想要的输出是这样的:

  A weights
0 1 0.166
1 2 0.333
2 3 0.5

我在网上看过,但我似乎找不到任何东西,或者我必须默认使用 for 循环来做这样的事情吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com