Данные бина Python в указанных диапазонах - PullRequest
1 голос
/ 29 мая 2019

У меня есть одномерный массив с информацией о зарплате, такой как:

|wage    |
|75000   |
|125000  |
|130000  |

и так далее.Я использовал функцию qcut для сортировки данных, но я хочу использовать округленные диапазоны, чтобы они выглядели более эстетично.

В настоящее время мой код выглядит следующим образом:

quant = pd.qcut(df['wage'], [0.1, 0.2, 
0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]).value_counts()

, и это производит

(42500.0, 50000.0]         3285
(27882.399, 32500.0]       3158
(32500.0, 37500.0]         3000
(69926.75, 82500.0]        2988
(58878.5, 69926.75]        2922
(82500.0, 110000.0]        2914
(110000.0, 145600000.0]    2866
(37500.0, 42500.0]         2677
(50000.0, 58878.5]         2554
Name: wage, dtype: int64

Я хотел бы следующие диапазоны:

(0, 30000]
(30000, 50000]
(50000, 70000]
(70000, 90000]
(90000, 110000]
(110000, 150000]
(150000, max wage]

какие-либо предложения о том, как это сделать?

1 Ответ

2 голосов
/ 29 мая 2019

pd.qcut - для случаев, когда вы хотите указать квантили . Для того, что вы хотите, я подозреваю, вам нужно pd.cut, например:

edges = [0, 30000, 50000, 70000, 90000, 110000, 150000, df['wage'].max()]

pd.cut(df['wage'], edges)
...