【问题标题】:Extract values from WaldTestResults pandas DataFrame从 WaldTestResults pandas DataFrame 中提取值
【发布时间】:2021-06-03 13:53:57
【问题描述】:

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

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

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

我没有设法将这个表转换成一个列表(list(wald), TypeError: 'WaldTestResults' object is not iterable),也没有通过 wald.values 查看它的值(错误:AttributeError: 'WaldTestResults' object has no属性 'values') 也不提取特定列(TypeError: 'WaldTestResults' 对象不可下标),甚至根据相关建议从表中提取特定值(例如here)。

如何从该表中读取特定值?或者(等效地)我怎样才能将这个表转换成一个列表?

【问题讨论】:

    标签: python pandas dataframe statsmodels


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-01-22
      • 1970-01-01
      • 2020-09-25
      • 1970-01-01
      • 2019-04-25
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 2018-02-07
      相关资源
      最近更新 更多