python - 将混合数据转换为分类数据:dataframe
问题描述
我有一列(实际上是几列),其中包含混合类型的数据:分类数据和数值数据(对应于不同的类别)。但是,它们本质上应该是分类的。我的最终目标是给他们一个单热编码表示。
列中的数值大多为零。我想将此列转换为分类。因为我不知道使用get_dummies()
. 因此,我先完全转换为数值,然后转换为 one-hot-encoding。
下图代表我的场景。
有更好的方法吗?有没有办法直接将数据转换为分类。
任何帮助表示赞赏。
解决方案
下面的代码正确地对具有整数和分类值的列进行了一次热编码。这使用了最直接的方式get_dummies()
。如果它不适合您,请考虑使用另一个库进行分类编码。
import pandas as pd
data = {'Column 1':[1,2,'a']}
df = pd.DataFrame(data)
print(pd.get_dummies(df, columns=['Column 1']))
输出:
Column 1_1 Column 1_2 Column 1_a
0 1 0 0
1 0 1 0
2 0 0 1
推荐阅读
- django - 使用 Zappa 和 Django 应用程序处理事件
- java - 将 HTML 转换为 java 中的文本后读取字符串文本内容
- java - Using Actions able to select element but not able drag element to particular location, because drop functionality is created on hover
- angular - Angular Universal - 用模拟模块替换真实模块
- bash - 使用换行符连接多个行变量
- hibernate - java.lang.NoSuchFieldException:带有休眠升级的工厂
- reactjs - Webpack:在多个条目文件中发现重复内容
- git - 如何在不修改工作树的情况下从 git status 的输出中排除某些目录(例如 _not_ 修改 .gitignore)
- amazon-web-services - 使用tomcat8环境部署elasticbean堆栈Java后的403响应
- android - android SystemUI中right_doked_overlay有什么用?