我对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 ==>新数据框)更好的路线?感谢。
答案 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