无法更改数据类型以通过统计CDF函数

问题描述

我有一个包含4列的数据框:sample_means,sample_size,MW_wind_speed和sample_stdev。根据这些值,我计算出了一个测试统计信息(“ test_stat”),我希望将其传递给stats包CDF函数(请参阅代码的最后一行),以计算数据帧中每一行的p值。但是,我在最后一行说到错误:

“类型错误:int对象不可下标”

我不能更改test_stat数据的类型,因为它是一个系列,所以我不确定该怎么做。我该如何调整数据以使我通过CDF函数?

#define data from columns of the dataframe
sample_means = new_df['sample_mean']
sample_size = new_df['sample_size']
MW_wind_speed = new_df['MW_wind_speed']
sample_stdev = new_df['sample_stdev']

#calculate s value and z_value
s_x = sample_stdev/(np.sqrt(sample_size-1))
test_stat = (np.abs(sample_means - MW_wind_speed))/s_x

#calculate p-values by passing z value through CDF function
from scipy.stats import norm
p_values = 2[1-norm.cdf(test_stat)]

解决方法

以下是解决此问题的好方法!我认为类型的问题是我不包括2 *(1-norm.cdf(test_stat))

#calculate s value and z_value
s_x = sample_stdev/(np.sqrt(sample_size-1))
z_value = (np.abs(sample_means - MW_wind_speed))/s_x

new_df['s_value'] = s_x
new_df['test_statistic'] = test_stat

new_df = new_df.dropna()

#make a a t distribution object for t with 10 deg of freedom (best approximation)
t_dist = stats.t(10)
cdf_values = t_dist.cdf(test_stat)
p_values = 2*(1-cdf_values)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...