首页 > 解决方案 > 将混合数据转换为分类数据:dataframe

问题描述

我有一列(实际上是几列),其中包含混合类型的数据:分类数据和数值数据(对应于不同的类别)。但是,它们本质上应该是分类的。我的最终目标是给他们一个单热编码表示。

列中的数值大多为零。我想将此列转换为分类。因为我不知道使用get_dummies(). 因此,我先完全转换为数值,然后转换为 one-hot-encoding。

下图代表我的场景。

混合列

有更好的方法吗?有没有办法直接将数据转换为分类。

任何帮助表示赞赏。

标签: pythondataframecategorical-dataone-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
​

推荐阅读