将混合数据转换为分类数据框

时间:2019-07-08 09:16:01

标签: python dataframe categorical-data one-hot-encoding

我有一列(实际上是两列)混合了多种数据:分类数据和数值数据(对应于不同的类别)。但是,它们本质上应该是绝对的。我的最终目标是给他们一个单编码的表示形式。

该列中的数字大部分为零。我想将此列转换为分类。由于我不知道使用get_dummies()进行转换的直接方法(混合到单热编码)。因此,我首先完全转换为数值,然后转换为单编码。

下面的图片代表了我的情况。

mixed_column

有没有更好的方法?有没有一种方法可以将数据直接转换为分类数据。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

下面的代码正确地一键式编码一个具有整数和分类值的列。这与get_dummies()使用最直接的方式。如果您不满意,请考虑使用another library for categorical encoding

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
​