pandas
имеет функцию с именем qcut()
, которая будет делать то, что вы хотите.Просто укажите в столбце data
:
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]]
. Вы можете использовать qc.value_counts()
, чтобы получить значения:
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