[英]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.