我正在尝试理解numpy中的百分位数。
import numpy as np
nd_array = np.array([3.6216, 4.5459, -3.5637, -2.5419])
step_intervals = range(100, 0, -5)
for percentile_interval in step_intervals:
threshold_attr_value = np.percentile(np.array(nd_array), percentile_interval)
print "percentile interval ={interval}, threshold_attr_value = {threshold_attr_value}, {arr}".format(interval=percentile_interval, threshold_attr_value=threshold_attr_value, arr=sorted(nd_array))
我将这些值获取为
percentile interval =100, threshold_attr_value = 4.5459, [-3.5636999999999999, -2.5419, 3.6215999999999999, 4.5458999999999996]
...
percentile interval =5, threshold_attr_value = -3.41043, [-3.5636999999999999, -2.5419, 3.6215999999999999, 4.5458999999999996]
百分位数值的含义是什么?
- 数组中100%的值<4.5459?
- 数组中5%的值<-3.41043?
这样读取是否正确?
我想将numpy数组拆分为小的子数组。 我想基于元素的百分位出现次数来执行此操作。 我该如何做到这一点?