拆分列并在pandas数据帧中分配标头

时间:2017-07-12 01:22:51

标签: python pandas

我有一个pandas数据框,我希望拆分第一列中的每个元素,并为新列分配一个列标题。现在该列没有header.it类似于:

                       0    1   2   3   4

A|Item Name           25   26  31  40  45
B|Item Name           26   28  29  32  50
C|Item Name           31   32  12  32  11

预期输出

 Ltr     Itm                  0    1   2   3   4

 A    Item Name              25   26  31  40  45
 B    Item Name              26   28  29  32  50
 C    Item Name              31   32  12  32  11

使用以下代码尝试转换相同的内容:

df2 = pd.DataFrame(df2.row.str.split('|', 1).tolist(),
                   columns=['Let', 'Itm'])

但错误的是没有'行'数据框中的属性。

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

如果是索引,您可以使用

df.index = df.index.str.split('|', expand = True)
df = df.reset_index().rename(columns = {'level_0': 'Ltr', 'level_1': 'Itm'})

你得到了

    Ltr Itm         0   1   2   3   4
0   A   Item Name   25  26  31  40  45
1   B   Item Name   26  28  29  32  50
2   C   Item Name   31  32  12  32  11