import pandas as pd
我有以下数据框:
Col1 Col2
0 a 0
1 b 1
2 a 1
2 b 1
3 a 0
3 c 1
我想将其重新格式化为:
newCol_a newCol_b newCol_c
0 0 0 0
1 0 1 0
2 1 1 0
3 0 0 1
基本上是对两个旧列进行转置,并使Col1值成为新数据帧中列的列表,相对于索引值(不是唯一的),如果找不到字母,则该值应默认为0(例如: b和c代表索引0)。
我对如何做到这一点很固执
答案 0 :(得分:1)
如果将Col1
添加到索引,则可以.unstack()
将其值转换为列:
In [7]: df.set_index("Col1", append=True)['Col2'].unstack(fill_value=0)
Out[7]:
Col1 a b c
0 0 0 0
1 0 1 0
2 1 1 0
3 0 0 1