Python 将每个值以百分比形式放置

Python 将每个值以百分比形式放置,python,pandas,statistics,Python,Pandas,Statistics,考虑具有以下百分位数的系列: > df['col_1'].describe(percentiles=np.linspace(0, 1, 20)) count 13859.000000 mean 421.772842 std 14665.298998 min 1.201755 0% 1.201755 5.3% 1.430695 10.5% 1.438417 15.8%

考虑具有以下百分位数的系列:

> df['col_1'].describe(percentiles=np.linspace(0, 1, 20))

count      13859.000000
mean         421.772842
std        14665.298998
min            1.201755
0%             1.201755
5.3%           1.430695
10.5%          1.438417
15.8%          1.466462
21.1%          1.473050
26.3%          1.500834
31.6%          1.512218
36.8%          1.542935
42.1%          1.579845
47.4%          1.647162
50%            1.690612
52.6%          1.749047
57.9%          1.955589
63.2%          2.344475
68.4%          3.075641
73.7%          4.466094
78.9%          8.410964
84.2%         14.998738
89.5%         41.363612
94.7%        162.865079
100%     1511013.790233
max      1511013.790233
Name: col_1, dtype: float64
我想获得另一列
col_2
,其中包含在上述计算中为每行分配的百分比

我怎样才能在熊猫身上做到这一点

df2 = pd.DataFrame(range(1000))
df2.columns = ['a1']
df2['percentile'] = pd.qcut(df2.a1,100, labels=False)
或省去标签以查看范围


请注意,在Python3中,使用Pandas 0.16.2(今天的最新版本),您需要使用
list(range(1000))
而不是
range(1000)
才能使上述功能正常工作