我在下面有以下命令:
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'].
任何人都可以帮我吗?
假设是两个数据集的方差,您正在比较的结果将是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)