如何将单列中的值分配到几列中?

时间:2019-02-22 11:50:18

标签: python pandas dataframe

我在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

2 个答案:

答案 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