我有一系列的股票回报,可能是大约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