【发布时间】:2017-08-21 19:56:59
【问题描述】:
我有一个具有 int 和分类特征的数据框。分类特征有 2 种类型:数字和字符串。
我能够对整数列和分类列进行热编码。当我尝试对作为字符串的分类列进行一个热编码时出现错误。
ValueError: 无法将字符串转换为浮点数:'13367cc6'
由于数据框很大且基数很高,所以我只想将其转换为稀疏形式。我更喜欢使用from sklearn.preprocessing import OneHotEncoder 的解决方案,因为我熟悉它。
我也检查了其他问题,但没有一个能解决我的问题。
data = [[623, 'dog', 4], [123, 'cat', 2],[623, 'cat', 1], [111, 'lion', 6]]
以上数据框包含 4 行 3 列
列名 - ['animal_id', 'animal_name', 'number']
假设 animal_id 和 animal_name 在 pandas 中存储为 category 和 number 作为 int64 dtype。
【问题讨论】:
-
能否提供一个小样本可重现的数据集?
-
添加了一个例子。如果您需要任何其他详细信息,请告诉我。
标签: pandas scikit-learn categorical-data one-hot-encoding