熊猫分成多列

时间:2019-10-02 08:30:03

标签: python-3.x pandas

如何将第二列(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 :(得分:0)

我认为最简单的是通过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)