Группировка значений в пользовательские корзины - PullRequest
0 голосов
/ 09 октября 2019

У меня есть фрейм данных с атрибутом «образование». Значения дискретные, 1-16. В целях кросс-табуляции, я хочу скомпоновать эту переменную «образования», но с пользовательскими ячейками (1: 8, 9:11, 12, 13:15, 16).

Я дурачилсяс pd.cut (), но я получаю неверную синтаксическую ошибку

adult_df_educrace['education_bins'] = pd.cut(x=adult_df_educrace['education'], bins=[1:8, 9, 10:11, 12, 13:15, 16], labels = ['Middle School or less', 'Some High School', 'High School Grad', 'Some College', 'College Grad'])

1 Ответ

1 голос
/ 09 октября 2019

Попытайтесь заставить бункеры упасть между порогами:

bins = [0.5, 8.5, 11.5, 12.5, 15.5, 16.5]
labels=['Middle School or less', 'Some High School', 
        'High School Grad', 'Some College', 'College Grad']

adult_df_educrace['education_bins'] = pd.cut(x=adult_df_educrace['education'],
                                             bins=bins,
                                             labels=labels)

Тест:

adult_df_educrace = pd.DataFrame({'education':np.arange(1,17)})

Вывод:

    education         education_bins
0           1  Middle School or less
1           2  Middle School or less
2           3  Middle School or less
3           4  Middle School or less
4           5  Middle School or less
5           6  Middle School or less
6           7  Middle School or less
7           8  Middle School or less
8           9       Some High School
9          10       Some High School
10         11       Some High School
11         12       High School Grad
12         13           Some College
13         14           Some College
14         15           Some College
15         16           College Grad
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...