我有一列(实际上是两列)混合了多种数据:分类数据和数值数据(对应于不同的类别)。但是,它们本质上应该是绝对的。我的最终目标是给他们一个单编码的表示形式。
该列中的数字大部分为零。我想将此列转换为分类。由于我不知道使用get_dummies()
进行转换的直接方法(混合到单热编码)。因此,我首先完全转换为数值,然后转换为单编码。
下面的图片代表了我的情况。
有没有更好的方法?有没有一种方法可以将数据直接转换为分类数据。
感谢您的帮助。
答案 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