将数组中的每个项目拆分为单独的数据框列

时间:2015-05-04 18:22:09

标签: python pandas

我对python来说比较新。我有一个数据框,我需要将每列中数据的每个字符分成另一个数据框中的自己的列。我将数据拆分成字典,但发现我需要一个新的数据框。这是合约:

源数据框如下所示:

    Col1
1 100100
2 000000
3 020001
4 100300

我有这样的字典:

1: "['1', '0', '0', '1', '0', '0']",
2: "['0', '0', '0', '0', '0', '0']",
3: "['0', '2', '0', '0', '0', '1']",
4: "['1', '0', '0', '3', '0', '0']"

并且需要以这种格式结束数据框:

  0 1 2 3 4 5
1 1 0 0 1 0 0
2 0 0 0 0 0 0
3 0 2 0 0 0 1
4 1 0 0 3 0 0

任何建议都会受到赞赏 - 我的搜索没有运气。我假设直接从源数据到新数据帧是理想的。或者使用我创建的字典(source ==> dict ==>新数据框)更好的路线?感谢。

1 个答案:

答案 0 :(得分:3)

这不是最优雅的,但生命很短暂,所以我应用list来获取值,然后pd.Series将它们展开为列:

>>> df
     Col1
1  100100
2  000000
3  020001
4  100300
>>> df.Col1.apply(list).apply(pd.Series).astype(int)
   0  1  2  3  4  5
1  1  0  0  1  0  0
2  0  0  0  0  0  0
3  0  2  0  0  0  1
4  1  0  0  3  0  0
相关问题