重新格式化数据框列

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)。


我很坚持如何做到这一点


皈依舞
浏览 132回答 1
1回答

胡说叔叔

如果添加Col1到索引中,.unstack()则可以将其值转换为列:In [7]: df.set_index("Col1", append=True)['Col2'].unstack(fill_value=0)Out[7]:Col1  a  b  c0     0  0  01     0  1  02     1  1  03     0  0  1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python