数据框架pandas中的扩展百分比摘要



例如,如果我有一个列数据框架pandas.

A 20
B 20
C 15
D 10
E 10
F  8 
G  7
H  5
I  5

我想让数据分布这样最大的75% 15%最后的10%是

A        F        H     
B        G        I
C        
D
E

是否有pandas函数可以使这个摘要更快?我需要使索引作为列名吗?因为我从df dataframe中获得了df.value_counts()的值

确切的输入和预期的输出并不完全清楚,但是假设这个DataFrame作为输入:

col
A   20
B   20
C   15
D   10
E   10
F    8
G    7
H    5
I    5

您可以使用以下命令获取索引字典:

import numpy as np
target = [75, 15, 10]
group = pd.cut(df['col'].cumsum(), bins=np.r_[0, np.cumsum(target)], labels=target)
df.index.groupby(group)

输出:{75: ['A', 'B', 'C', 'D', 'E'], 15: ['F', 'G'], 10: ['H', 'I']}

最新更新