从 WaldTestResults pandas DataFrame 中提取值

Extract values from WaldTestResults pandas DataFrame

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

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

在计算的统计数据中,有一个 Wald 测试 table 作为 pandas 数据框 (),我可以打印并查看它.但是,我需要提取此 table 的特定元素以供进一步分析。根据 help page,Wald table 是一个 pandas DataFrame。

我没有设法将此 table 转换为列表(列表(wald),TypeError:'WaldTestResults' 对象不可迭代)也没有通过 wald.values 查看其值( error: AttributeError: 'WaldTestResults' object has no attribute 'values') 也没有提取特定的列(TypeError: 'WaldTestResults' object is not subscriptable),甚至提取特定的值table 遵循相关建议(例如 )。

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

要将其转换为 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