gpt4 book ai didi

python - 如何按组在 Pandas 中应用 linregress

转载 作者:太空狗 更新时间:2023-10-30 01:02:37 25 4
gpt4 key购买 nike

我想在 Pandas ByGroup 中应用 scipy.stats.linregress。我查看了文档,但我所能看到的只是如何将某些内容应用于单个列,例如

grouped.agg(np.sum)

或者类似的函数

grouped.agg('D' : lambda x: np.std(x, ddof=1)) 

但是我如何应用具有两个输入 X 和 Y 的线性回归?

最佳答案

linregress函数,以及许多其他 scipy/numpy 函数,接受“类数组”X 和 Y,Series 和 DataFrame 都可以符合条件。

例如:

from scipy.stats import linregress
X = pd.Series(np.arange(10))
Y = pd.Series(np.arange(10))

In [4]: linregress(X, Y)
Out[4]: (1.0, 0.0, 1.0, 4.3749999999999517e-80, 0.0)

事实上,能够使用 scipy(和 numpy)函数是 pandas killer 级功能之一!

因此,如果您有一个 DataFrame,您可以在其列(即 Series)上使用 linregress:

linregress(df['col_X'], df['col_Y'])

如果使用 groupby,您可以类似地应用(到每个组):

grouped.apply(lambda x: linregress(x['col_X'], x['col_Y']))

关于python - 如何按组在 Pandas 中应用 linregress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14775068/

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