gpt4 book ai didi

python Pandas : Passing arguments to a function in agg()

转载 作者:太空狗 更新时间:2023-10-30 00:38:22 25 4
gpt4 key购买 nike

我正在尝试通过使用不同类型的函数和参数值来减少 pandas 数据框中的数据。但是,我没有设法更改聚合函数中的默认参数。这是一个例子:

>>> df = pd.DataFrame({'x': [1,np.nan,2,1],
... 'y': ['a','a','b','b']})
>>> df
x y
0 1.0 a
1 NaN a
2 2.0 b
3 1.0 b

这是一个聚合函数,我想为此测试 b 的不同值:

>>> def translate_mean(x, b=10):
... y = [elem + b for elem in x]
... return np.mean(y)

在下面的代码中,我可以使用默认的 b 值来使用这个函数,但我想传递其他值:

>>> df.groupby('y').agg(translate_mean)
x
y
a NaN
b 11.5

有什么想法吗?

最佳答案

只需将参数传递给 agg(这也适用于 apply)。

df.groupby('y').agg(translate_mean, b=4)
Out:
x
y
a NaN
b 5.5

关于 python Pandas : Passing arguments to a function in agg(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44577019/

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