我在pandas数据框中有一个列(使用PyCharm),值:
Colour
-----
Red
Green
Green
Blue
Red
但是我想将其分为标题为“红色”,“绿色”,“蓝色”的几列,然后将值设置为“是”或“否”。
Red Blue Green
--------------
Yes No No
No No Yes
No No Yes
No Yes No
Yes No No
答案 0 :(得分:1)
您可以使用Series.str.get_dummies
:
df.Colour.str.get_dummies().replace({1:'Yes', 0:'No'})
Blue Green Red
0 No No Yes
1 No Yes No
2 No Yes No
3 Yes No No
4 No No Yes
答案 1 :(得分:0)
您可以使用pd.get_dummies:
df = pd.DataFrame({'Colour': ['Red', 'Green', 'Green', 'Blue', 'Red']})
df
Colour
0 Red
1 Green
2 Green
3 Blue
4 Red
pd.get_dummies(df['Colour']).replace({0:'No', 1:'Yes'})
Blue Green Red
0 No No Yes
1 No Yes No
2 No Yes No
3 Yes No No
4 No No Yes