使用pandas在数据框架中创建动态列

Vb4*_*407 1 python pandas

如何从此pandas数据框创建动态列.

 Name, Sex
    a, M
    b, F
    c, M
    d, F
Run Code Online (Sandbox Code Playgroud)

预期数据框:

Name, M, F
a, 1, 0
b, 0, 1
c, 1, 0
d, 0, 1
Run Code Online (Sandbox Code Playgroud)

我试过pandas.pivot()但没有用,你们可以提出一些建议.

ayh*_*han 5

使用get dummies:

pd.concat([df['Name'], df['Sex'].str.get_dummies()], axis=1)
Out: 
    Name   F   M
0      a   0   1
1      b   1   0
2      c   0   1
3      d   1   0
Run Code Online (Sandbox Code Playgroud)

df['Sex'].str.get_dummies() 生成假人:

df['Sex'].str.get_dummies()
Out: 
    F   M
0   0   1
1   1   0
2   0   1
3   1   0
Run Code Online (Sandbox Code Playgroud)

然后您可以使用pd.concat将结果与name列组合.