【问题标题】:Ttest_indResult(statistic=nan, pvalue=nan) errorTtest_indResult(statistic=nan, pvalue=nan) 错误
【发布时间】:2020-05-19 13:13:22
【问题描述】:

我有以下命令:

Townames = []
Notowns = [] 
def run_ttest():
    for key,value in enumerate(data['RegionName']):
                 if value in stateslist:
                    indexing = data['differ'].iloc[key]
                    Townames.append(indexing) 
                 else:
                    indexing = data['differ'].iloc[key]
                    Notowns.append(indexing)
    Unitowns = pd.DataFrame(columns = ['Unitownvalues'])
    Notunitowns = pd.DataFrame(columns = ['Notunitownvalues'])
    Unitowns['Unitownvalues'] = Townames      
    Notunitowns['Notunitownvalues'] = Notowns 
    Unitowns = Unitowns.dropna(subset=['Unitownvalues'])
    Notunitowns = Notunitowns.dropna(subset=['Notunitownvalues'])
    return 
run_ttest()
from scipy import stats 
stats.ttest_ind(Unitowns['Unitownvalues'],Notunitowns['Notunitownvalues'])

但是,我的输出是:

Ttest_indResult(statistic=nan, pvalue=nan)

我不明白这是为什么。

删除了上面的 NAN 值Unitowns['Unitownvalues']Notunitowns['Notunitownvalues'].

有人能帮我一把吗?

【问题讨论】:

    标签: python pandas dataframe series t-test


    【解决方案1】:

    确保添加最后一个参数(假设您要比较的两个数据集的方差相等):

    stats.ttest_ind(Unitowns['Unitownvalues'],Notunitowns['Notunitownvalues'],equal_var=True)
    

    而不是:

    stats.ttest_ind(Unitowns['Unitownvalues'],Notunitowns['Notunitownvalues'])
    

    这给了我一个输出:

    Ttest_indResult(statistic=0.38697667088831, pvalue=0.69878181110717441)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 2016-06-27
      • 2014-04-30
      • 2015-06-26
      • 2013-06-22
      • 2010-12-30
      • 2019-07-28
      相关资源
      最近更新 更多