同时矢量化整数和字符串特征



有没有办法同时对字符串和整数应用独热编码?DictVectorizer用于字符串,OneHotEncoder用于整数。是否有某种东西可以将它们组合在一起(将所有特征值视为分类值,无论其类型如何)?

例如:我有一个熊猫数据帧,有些列是整数,有些是字符串:

   >>> df
       a  b  c  d
    0  2  0  w  K
    1  0  1  f  K
    2  1  2  y  L
    3  0  0  f  M

所有列实际上是分类的。其中一些是整数没有任何意义。现在,如果我使用这样的DictVectorizer:

vectorizer = DictVectorizer(sparse=False)
df_dict = df.T.to_dict().values()
vectorizer.fit_transform(df_dict)

我得到了一个很好的大矩阵,用于列"c"和"d",但"a"和"b"中的值保持不变。我需要他们得到同样的动作。一种选择当然是在"a"和"b"上应用 str 函数,但这既是隐式的(原始数据始终是整数),又效率不高(遍历所有列,这可能非常大并且应用浪费的任务..)。

有没有简单的方法可以做到这一点?

谢谢

看起来get_dummies是你想要的。 这将采用任何列并将其转换为分类指标的枢轴。

http://pandas.pydata.org/pandas-docs/dev/generated/pandas.get_dummies.html

相关内容

  • 没有找到相关文章

最新更新