gpt4 book ai didi

python - 如何将 OLS 从 statsmodels 应用到 groupby

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:46 24 4
gpt4 key购买 nike

我按月对产品运行 OLS。虽然这适用于单个产品,但我的数据框包含许多产品。如果我创建一个 groupby 对象,OLS 会给出错误。

linear_regression_df:
product_desc period_num TOTALS
0 product_a 1 53
3 product_a 2 52
6 product_a 3 50
1 product_b 1 44
4 product_b 2 43
7 product_b 3 41
2 product_c 1 36
5 product_c 2 35
8 product_c 3 34


from pandas import DataFrame, Series
import statsmodels.api as sm

linear_regression_grouped = linear_regression_df.groupby(['product_desc'])
X = linear_regression_grouped['period_num']
y = linear_regression_grouped['TOTALS']

model = sm.OLS(y, X)
results = model.fit()

我在 sm.OLS() 行收到这个错误:

ValueError: unrecognized data structures: <class 'pandas.core.groupby.SeriesGroupBy'>

那么我怎样才能遍历我的数据框并为每个 product_desc 应用 sm.OLS()?

最佳答案

你可以做这样的事情......

import pandas as pd
import statsmodels.api as sm

for products in linear_regression_df.product_desc.unique():
tempdf = linear_regression_df[linear_regression_df.product_desc == products]
X = tempdf['period_num']
y = tempdf['TOTALS']

model = sm.OLS(y, X)
results = model.fit()

print results.params # Or whatever summary info you want

关于python - 如何将 OLS 从 statsmodels 应用到 groupby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24088439/

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