python - 在 df 中的列列表中运行 for 循环
问题描述
我能够使用一个变量有效地运行逻辑回归,这给了我想要的输出
x=df['a']
y=df['outcome']
model = sm.GLM(y, x, family=sm.families.Binomial())
results = model.fit()
results.summary()
但是,当我有多个列时,我想对其进行简单的逻辑回归(我希望它们简单,而不是多变量),当我尝试通过 for 循环传递它时收到错误消息。
x=df[['a', 'b', 'c']]
y=df['outcome']
for i in x:
model = sm.GLM(y, i, family=sm.families.Binomial())
results = model.fit()
results.summary()
我收到以下错误:ValueError:无法识别的数据结构:<class 'numpy.ndarray'> / <class 'str'>
如何循环生成 3 个独特的简单线性回归?
解决方案
for i in x:迭代列名而不是数据
做这个
x=df[['a', 'b', 'c']]
y=df['outcome']
for i in x:
model = sm.GLM(y, df[i], family=sm.families.Binomial())
results = model.fit()
results.summary()
如果您需要保存结果,您可以将它们附加到数据结构中,例如创建model_results = []
然后附加到它
推荐阅读
- php - 如何在网页上显示特定的一组 wordpress 帖子?
- java - 通过 HTTPS 打开 Trip Planner
- java - 如何使用 JAVA EE 获取用于下载文件的 HttpServletResponse 实例
- php - setcookie() 期望参数 3 为整数,给定数组
- powerbi - 创建度量以根据按日期查找计算值
- python - 如何在网页上自动选择数据并使用 Python 下载生成的 xls 文件
- python - 在 Django 中定义视图和 URL。为什么不使用括号来调用函数?
- r - 是否可以延长 R 中 x 轴的间隔?
- python - 类范围的异常处理程序
- spring-boot - AOP(AspectJ)中通过注解访问函数参数