Python 如何基于频率对数据进行分类

Python 如何基于频率对数据进行分类,python,pandas,dataframe,pivot,Python,Pandas,Dataframe,Pivot,这是我的数据 id data 1 89 2 54 3 45 4 67 5 78 6 80 这是我想要的输出类型 Interval Count 45 - 54 2 67 - 78 2 80 - 89 2 我希望数据分布更均匀pandas有一个名为qcut()的函数,可以执行您想要的操作。只需输入数据列: In []: qc = pd.qcut(df['data'], q=3,

这是我的数据

id   data
1      89
2      54
3      45
4      67
5      78
6      80
这是我想要的输出类型

Interval    Count
45 - 54         2
67 - 78         2
80 - 89         2

我希望数据分布更均匀

pandas
有一个名为
qcut()
的函数,可以执行您想要的操作。只需输入
数据
列:

In []:
qc = pd.qcut(df['data'], q=3, precision=0)
qc

Out[]:
0    (79.0, 89.0]
1    (44.0, 63.0]
2    (44.0, 63.0]
3    (63.0, 79.0]
4    (63.0, 79.0]
5    (79.0, 89.0]
Name: data, dtype: category
Categories (3, interval[float64]): [(44.0, 63.0] < (63.0, 79.0] < (79.0, 89.0]]

间隔的相关性是什么?它们只是从数据中提取出来的吗?如果你有7个条目,会发生什么?@SeanBreckenridge我只是想看看是否有任何现有的熊猫函数,基本上我有100+的数字特征,我想计算PSI(人口稳定性指数),这只是第一步
In []:
qc.value_counts().sort_index()

Out[]:
(44.0, 63.0]    2
(63.0, 79.0]    2
(79.0, 89.0]    2
Name: data, dtype: int64