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

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


子衿沉夜
浏览 150回答 2
2回答

守着星空守着你

您可以使用Series.str.get_dummies:df.Colour.str.get_dummies().replace({1:'Yes', 0:'No'})   Blue Green Red0   No    No  Yes1   No   Yes   No2   No   Yes   No3  Yes    No   No4   No    No  Yes

湖上湖

您可以使用pd.get_dummies:df = pd.DataFrame({'Colour': ['Red', 'Green', 'Green', 'Blue', 'Red']})df    Colour0   Red1   Green2   Green3   Blue4   Redpd.get_dummies(df['Colour']).replace({0:'No', 1:'Yes'})     Blue            Green  Red0     No              No    Yes1     No              Yes   No2     No              Yes   No3     Yes             No    No4     No              No    Yes
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python