更改四分位数范围
Changing Quartile range
我有一些数据
a = pd.DataFrame([1,22,34,55,66,75,2,7,8,9,99,70,45,56,22,12,5,9,3,5,89,67,42,21])
当我使用 describe 函数时,我得到以下结果:
a.describe()
Out[6]:
0
count 24.000000
mean 34.333333
std 30.786314
min 1.000000
25% 7.750000
50% 22.000000
75% 58.500000
max 99.000000
我得到的结果显示数据在 0 到 25%、25% 到 50% 和 50% 到 75% 之间。
我想要得到的结果显示为 10%、20% 30%...等等。请告诉我如何获得这些结果。
您可以使用 Numpy quantile
,方法是按要求的百分比提供参数 q
,例如:
np.quantile(a,q=np.linspace(0.1,1,num=10))
array([ 3.6, 6.2, 8.9, 13.8, 22. , 40.4, 55.1, 66.4, 73.5, 99. ])
分位数范围是 10% 到 100%:
np.linspace(0.1,1,num=10)
array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
或者使用 Numpy percentile
:
np.percentile(a,q=np.linspace(10,100,num=10))
array([ 3.6, 6.2, 8.9, 13.8, 22. , 40.4, 55.1, 66.4, 73.5, 99. ])
百分位数范围是 10% 到 100%:
np.linspace(10,100,num=10)
array([ 10., 20., 30., 40., 50., 60., 70., 80., 90., 100.])
我有一些数据
a = pd.DataFrame([1,22,34,55,66,75,2,7,8,9,99,70,45,56,22,12,5,9,3,5,89,67,42,21])
当我使用 describe 函数时,我得到以下结果:
a.describe()
Out[6]:
0
count 24.000000
mean 34.333333
std 30.786314
min 1.000000
25% 7.750000
50% 22.000000
75% 58.500000
max 99.000000
我得到的结果显示数据在 0 到 25%、25% 到 50% 和 50% 到 75% 之间。 我想要得到的结果显示为 10%、20% 30%...等等。请告诉我如何获得这些结果。
您可以使用 Numpy quantile
,方法是按要求的百分比提供参数 q
,例如:
np.quantile(a,q=np.linspace(0.1,1,num=10))
array([ 3.6, 6.2, 8.9, 13.8, 22. , 40.4, 55.1, 66.4, 73.5, 99. ])
分位数范围是 10% 到 100%:
np.linspace(0.1,1,num=10)
array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
或者使用 Numpy percentile
:
np.percentile(a,q=np.linspace(10,100,num=10))
array([ 3.6, 6.2, 8.9, 13.8, 22. , 40.4, 55.1, 66.4, 73.5, 99. ])
百分位数范围是 10% 到 100%:
np.linspace(10,100,num=10)
array([ 10., 20., 30., 40., 50., 60., 70., 80., 90., 100.])