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)
才能使上述功能正常工作