我已经根据这个生成了我的百分位数:
percentile = np.percentile(trace4['switchpoint'], [2.5, 97.5], axis=0)
print(percentile)
它回来了
array([[0.83300568, 0.46060436, 2.7449003 , 1.9982139 , 0.3987762 ,
0.88365135, 0.22983616, 0.93329534, 2.72465413, 1.17089865,
0.28492142, 0.6926268 , 0.66269826, 1.06656515, 0.46752127,
1.76456569, 0.1313388 , 1.28500029, 1.20987646, 1.45013769,
1.37307323, 0.32541516, 0.93211006, 0.4211398 , 0.96974685,
1.43363548, 2.14078899, 1.51663305, 1.0689224 , 0.79560975,
1.63287055, 2.09162316, 0.2881392 , 1.55702871, 1.48598385,
3.55837488, 0.74913963, 1.04578597, 0.26495597, 0.51574263],
[4.75729175, 4.1623318 , 7.14900756, 5.12070075, 6.92330205,
7.00824703, 4.87916471, 6.8439851 , 5.05501153, 5.80100506,
6.91067095, 5.57056179, 5.7841482 , 5.83522249, 6.90924864,
8.13130971, 5.07952595, 7.49020049, 6.74093273, 6.95862249,
6.88121063, 6.52230737, 6.84559638, 6.03093124, 7.11098186,
6.11971399, 4.80683008, 5.82910868, 7.44122 , 7.82238211,
5.64118377, 5.91967593, 7.18480546, 4.98052415, 5.04198767,
4.22506871, 6.60798525, 6.4482244 , 5.92934079, 6.76150973]])
但是,我想把它和我的索引匹配起来,就像在“个人id”中一样,它的长度是一样的。 我试过用
pd.Series(percentile, index='individual_id')
但这不起作用并返回错误消息
"Exception: Data must be 1-dimensional".
有人能帮忙吗?非常感谢
我同意Ehtan的回答来解决你的错误
但是,仅获取百分位[0]上的数据,您将丢失trace4['switchpoint']中[2.5,97.5]中第二个值的百分位数据
所以,试着把[2.5,97.5]改为一个值,或者取一个平均值。分析你为什么需要2.5或97.5
所以你可以试试这样的方法:
百分位数=np。百分位数(trace4['切换点],50,轴=0)
pd.系列(百分位数,索引='个人id')
我不是说你做错了。但是为两个值生成一个值是没有意义的
希望有帮助;)
percentile
是一个二维数组。尝试:pd.Series(percentile[0], index=‘individual_id’)
一些额外的废话,因为我必须写的长度超过了回答问题所需的答案。 这个网站有一些愚蠢的规则来帮助人们解决编码问题
相关问题 更多 >
编程相关推荐