Как сгладить столбец MultiIndex - PullRequest
0 голосов
/ 23 мая 2018

Вот мои данные

              customer_id   value
var_name                    Value_1     Value_2 
0             1             70          80 

Я хочу сделать это

var_name      customer_id   Value_1     Value_2 
0             1             70          80

, что я сделал, это df.columns = ['customer_id', 'Value_1', 'Value_2'], но это может привести к ошибке, так как у меня были сотни столбцов

Как я могу это сделать?

1 Ответ

0 голосов
/ 23 мая 2018

Вы всегда получаете MultiIndex, потому что нет параметра values с одним значением:

df = data.pivot_table(index='customer_id', 
                      columns='var_name', 
                      fill_value=0, 
                      aggfunc='max')

#columns names of first level  are not removed 
df.columns = df.columns.map('_'.join)
#first level removed, but possible duplicated columns names, so not recommended
#df.columns = df.columns.droplevel(0)

df = df.reset_index()

Если скаляр в value (обрабатывает только один столбец):

df = data.pivot_table(index='customer_id', 
                      columns='var_name', 
                     fill_value=0, 
                     values='age',
                     aggfunc='max')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...