панды разделены на несколько столбцов - PullRequest
1 голос
/ 02 октября 2019

Как я могу разделить второй столбец (SERVICE_SKU) на несколько столбцов?

           PRODUCT_SKU                                        SERVICE_SKU
                                                                     join
0              01FT562  CON-OSP-C9250I:CON-OS-C9250I:CON-SNTP-C9250I:C...
1              01FT563  CON-SNT-C9132I:CON-S2P-C9132I:CON-OSE-C9132I:C...



print(df3.columns, '\n\n\n')

MultiIndex(levels=[['SERVICE_SKU'], ['join']],
               codes=[[0], [0]]) 

когда я использую следующий код для разделения на ячейку, я получаю ошибку (AttributeError: у объекта DataFrame нетатрибут 'str').

df3[
    [
        '1',
        '2',
        '3',
        '4',

    ]
] = df2.SERVICE_SKU.str.split(":", expand=True)

1 Ответ

0 голосов
/ 02 октября 2019

Я думаю, что проще всего удалить второй уровень на MultiIndex.droplevel:

df2.columns = df2.columns.droplevel(1)

df2.SERVICE_SKU.str.split(":", expand=True)

Если хотите работать с Multiindex:

df2[('SERVICE_SKU', 'join')].str.split(":", expand=True)

Другое решениесгладить уровни и присоединиться:

df2.columns = df2.columns.map('_'.join)

df2.SERVICE_SKU_join.str.split(":", expand=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...