TypeError: элемент последовательности 1: ожидаемый экземпляр str, int найден при выравнивании столбца панелей MultiIndex - PullRequest
0 голосов
/ 29 мая 2018

Ранее я задавал похожий вопрос - pandas - реорганизуйте многострочный и многостолбцовый DataFrame в однорядный и многостолбцовый DataFrame , однако, когда я использую предоставленное решение:

v = df.unstack().to_frame().sort_index(level=1).T
v.columns = v.columns.map('_'.join)

в этом следующем фрейме данных (с переключенными значениями столбца и строки по сравнению с примером в упомянутом ответе),

index      A          B       C
    1  Apple     Orange   Grape
    2    Car      Truck   Plane
    3  House  Apartment  Garage

Однако эта строка: v.columns = v.columns.map('_'.join) выдает следующую ошибку:TypeError: sequence item 1: expected str instance, int found

Есть ли способ получить следующий вывод?

     A_1     A_2    A_3  B_1    B_2    B_3    C_1        C_2     C_3
0  Apple  Orange  Grape  Car  Truck  Plane  House  Apartment  Garage

Спасибо.

1 Ответ

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

Происходит, когда ваши заголовки являются целочисленными.Попробуйте использовать .format вместо:

v = df.unstack().to_frame().T
v.columns = v.columns.map('{0[0]}_{0[1]}'.format)

print(v)
     A_1  A_2    A_3     B_1    B_2        B_3    C_1    C_2     C_3
0  Apple  Car  House  Orange  Truck  Apartment  Grape  Plane  Garage
...