繁体   English   中英

将行类别转换为列

[英]Convert Rows Category into Columns

我有一系列类别如下。

mappingCategory = ["Animal", "Plant", "Animal", "Human", "Plant"]
指数 类别
0 动物
1个 植物
2个 动物
3个 人类
4个 植物

我想将数组转换为二维数组,其中列是唯一类别(按字母顺序排列),行显示该行中的类别,如下所示。

mappingCategory = [[1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1]]
指数 动物 人类 植物
0 1个 0 0
1个 0 0 1个
2个 1个 0 0
3个 0 1个 0
4个 0 0 1个

我可以构建自己的 function 来转换它,但是我可以使用 function 中的任何 python 构建吗?

您可以使用.str.get_dummies() ,如下所示:

如果您有一个名为Category的 dataframe 列,请使用:

df['Category'].str.get_dummies()

或者,如果您直接从类别数组中执行此操作:

mappingCategory = ["Animal", "Plant", "Animal", "Human", "Plant"]

pd.Series(mappingCategory).str.get_dummies()

Output:

   Animal  Human  Plant
0       1      0      0
1       0      0      1
2       1      0      0
3       0      1      0
4       0      0      1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM