добавить столбец, который может разделить числовые значения на низкие средние и высокие сегменты? - PullRequest
0 голосов
/ 25 августа 2018
number = pd.DataFrame(np.random.randint(1,100,20).reshape(20,1), columns=['Number to segement'])

Как добавить столбец на его сторону, который может автоматически разделить столбец на группы (<25%, 25% ~ 75%,> 75%) в соответствии с его значениями для столбца?

Пример:

enter image description here

1 Ответ

0 голосов
/ 25 августа 2018

pd.qcut делает в точности то, что вы ищете:

In [37]: number["quantile"] = pd.qcut(number["Number to segement"], [0, .25, .75, 1], labels=["<25%", "25-75%", ">75%"])

In [38]: number
Out[38]:
    Number to segement quantile
0                   53   25-75%
1                   85   25-75%
2                   95     >75%
3                   96     >75%
4                   60   25-75%
5                   37   25-75%
6                   32     <25%
7                   42   25-75%
8                   50   25-75%
9                   32     <25%
10                  30     <25%
11                  51   25-75%
12                  88     >75%
13                  76   25-75%
14                  10     <25%
15                  51   25-75%
16                  97     >75%
17                   1     <25%
18                  23     <25%
19                  87     >75%

Если вы не укажете аргумент метки, вместо него будут возвращены значения отсечения, если вы предпочитаете их видеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...