Ttest_indResult(statistic = nan,pvalue = nan)错误

问题描述 投票:0回答:1

我在下面有以下命令:

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)

我不明白为什么会这样。

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

任何人都可以帮我吗?

python pandas dataframe series t-test
1个回答
0
投票
确保您添加最后一个参数(

假设是两个数据集的方差,您正在比较的结果将是equal):

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)

© www.soinside.com 2019 - 2024. All rights reserved.