gpt4 book ai didi

python - 在Python中循环运行多个数据帧的回归

转载 作者:行者123 更新时间:2023-12-01 07:52:47 25 4
gpt4 key购买 nike

我的列表中有数据框,如下所示:

CGdfs = [CGdf_2002, CGdf_2003, CGdf_2004, CGdf_2005, CGdf_2006, CGdf_2007, CGdf_2008, CGdf_2009, CGdf_2010, CGdf_2011, CGdf_2012, CGdf_2013, CGdf_2014]

每个数据框中的列是:

CGdf_2002 包含列:TSR_df_03_06、board_gender_diversity_percent、gics_sector_name、custom_region

CGdf_2003 包含列:TSR_df_04_07、board_gender_diversity_percent、gics_sector_name、custom_region

CGdf_2014 包含列:TSR_df_15_18、board_gender_diversity_percent、gics_sector_name、custom_region...

我的列表中也有 TSR 列

TSR3yrdfs_string = ['TSR_df_03_06', 'TSR_df_04_07', 'TSR_df_05_08', 'TSR_df_06_09', 'TSR_df_07_10', 'TSR_df_08_11', 'TSR_df_09_12', 'TSR_df_10_13','TSR_df_11_14', 'TSR_df_12_15','TSR_df_13_16','TSR_df_14_17', 'TSR_df_15_18']

我想使用以下公式在循环中对所有这些数据帧运行回归:

sm.ols(formula = TSR_df_03_06 ~ board_gender_diversity_percent + gics_sector_name + custom_region, data=CGdf_2002).fit()

sm.ols(formula = TSR_df_04_07 ~ board_gender_diversity_percent + gics_sector_name + custom_region, data=CGdf_2003).fit()

sm.ols(formula = TSR_df_05_08 ~ board_gender_diversity_percent + gics_sector_name + custom_region, data=CGdf_2004).fit()

这些是每个数据帧的不同公式。我想在循环中运行所有这些回归直到 CGdf_2014

有人可以给我一个建议来实现这个目标吗?

我尝试了以下方法,但它说语法无效

CGdfs = [CGdf_2002, CGdf_2003, CGdf_2004, CGdf_2005, CGdf_2006, CGdf_2007, CGdf_2008, CGdf_2009, CGdf_2010, CGdf_2011, CGdf_2012, CGdf_2013, CGdf_2014, CGdf_2015, CGdf_2016, CGdf_2017, CGdf_2018]

TSR3yrdfs_string = ['TSR_df_03_06', 'TSR_df_04_07', 'TSR_df_05_08', 'TSR_df_06_09', 'TSR_df_07_10', 'TSR_df_08_11', 'TSR_df_09_12', 'TSR_df_10_13','TSR_df_11_14', 'TSR_df_12_15','TSR_df_13_16','TSR_df_14_17', 'TSR_df_15_18']

for x, y in zip(CGdfs, TSR3yrdfs_string):
results = sm.ols(formula = x[y] ~ x['board_gender_diversity_percent'] + x['gics_sector_name'] + x['custom_region'], data=x).fit()
print('The summary of regression is:', results.summary())

最佳答案

您需要将formula作为字符串传递,但是您的formula有多个列表,例如x[y]x['gics_sector_name']、...以及一个非字符/字符串的元素:~

但是您可以像这样重写您的公式(为了使用formula_str变量获得更好的可读性:

formula_str = y + '~' + 'board_gender_diversity_percent + gics_sector_name + custom_region'
results = sm.ols(formula=formula_str, data=x).fit()

yTSR3yrdfs_string 列表中的一个字符串,其他列只是硬编码为单个字符串。

关于python - 在Python中循环运行多个数据帧的回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56110212/

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