从WaldTestResults数据帧中提取值

2024-09-28 22:21:33 发布

您现在位置:Python中文网/ 问答频道 /正文

在应用statsmodels.api.Logit之后,我得到逻辑模型的输出

LogModel = sm.Logit(y_01, Xdata_WithDummies).fit()        
walds = LogModel.wald_test_terms()

在计算出的统计数据中,有一个Wald测试表作为数据帧(<;class'statsmodels.stats.contrast.WaldTestResults'>;)提供,我可以打印并查看它。但是,我需要提取此表的特定元素以进行进一步分析。根据help page,Wald表是一个数据帧

我没有将此表转换为列表(list(wald),TypeError:“WaldTestResults”对象不可订阅),也没有通过wald.values查看其值(错误:AttributeError:“WaldTestResults”对象没有属性“values”),也没有提取特定列(TypeError:“WaldTestResults”对象不可订阅),或者甚至根据相关建议从表中提取特定值(例如here

如何从该表中读取特定值?或者(等价地)如何将此表转换为列表


Tags: 数据对象模型api列表逻辑smvalues
1条回答
网友
1楼 · 发布于 2024-09-28 22:21:33

要将其转换为pandas.DataFrame,需要使用.summary_frame()方法

样本数据

import statsmodels.api as sm 
import numpy as np

np.random.seed(123)
y = np.random.randint(0, 2, 50)
x = np.random.randint(0, 2, (50, 3))

代码

LogModel = sm.Logit(y, x).fit()        
walds = LogModel.wald_test_terms()

df = walds.summary_frame()
#    chi2  P>chi2  df constraint
#x1   0.0     1.0              1
#x2   0.0     1.0              1
#x3   0.0     1.0              1

type(df)
#pandas.core.frame.DataFrame

相关问题 更多 >