将数据分类为N个类别,其中每个类别具有相同数量的数据但间隔不同

  • 本文关键字:数据 分类 python pandas
  • 更新时间 :
  • 英文 :


我有一系列的股票回报,可能是大约5000个数据。我想把它们分为5类。每个类别应该具有几乎相同数量的数据。

例如,将以下数据分为3类:

test = pd.DataFrame({'Returns': [0.003,0.005,0.02,0.01,0.1,0.9,-0.2,-0.13,-0.14,-0.03,0,0.001]})

使用时会有结果:

test.value_counts()

Category:   number of data
0                   3
1                   3
2                   3

数据的间隔可能不同。

试用qcut

test['cate'] = pd.qcut(test.Returns,3).cat.codes
test['cate'].value_counts()
Out[577]: 
0    4
1    4
2    4
Name: cate, dtype: int64

最新更新