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