Python 多重置信区间
我正在用Python处理pandas库。假设我有四个从正态分布中随机抽取的样本,方法如下:Python 多重置信区间,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我正在用Python处理pandas库。假设我有四个从正态分布中随机抽取的样本,方法如下: np.random.seed(12345) df = pd.DataFrame([np.random.normal(32000,20000,3650), np.random.normal(43000,10000,3650), np.random.normal(43500,14000,3650),
np.random.seed(12345)
df = pd.DataFrame([np.random.normal(32000,20000,3650),
np.random.normal(43000,10000,3650),
np.random.normal(43500,14000,3650),
np.random.normal(48000,7000,3650)],
index=[1992,1993,1994,1995])
我想得到每个样本的95%置信区间,因此我计算:
mean_value=df.mean(axis=1)
std_value=df.std(axis=1,ddof=0)
lower_bound=mean_value-1.96*std_value
upper_bound=mean_value+1.96*std_value
diff = upper_bound-lower_bound
对于每个置信区间,我想把它分成11个等距区间。我有如下想法:
low=lower_bound.values[1]
high=upper_bound.values[1]
diff=0.09*diff.values[1]
np.arange(low,high,diff)
这不太有效,因为切割间隔不在置信区间的上端结束。如何获得等间距间隔 我不太确定您想要什么,但是使用NumPy的
linspace
函数很容易获得等间隔。以下是第一次分发的11个间隔
np.linspace(lower_bound.values[0], upper_bound.values[0], 12)
array([ -7.18705879e+03, -3.82825067e+01, 7.11049377e+03,
1.42592701e+04, 2.14080463e+04, 2.85568226e+04,
3.57055989e+04, 4.28543752e+04, 5.00031514e+04,
5.71519277e+04, 6.43007040e+04, 7.14494803e+04])
可能与我编辑的问题重复,以消除重叠。