我有 pandas 代码,我对 one-hot-encoding 执行以下操作。
from sklearn.preprocessing import MultiLabelBinarizer
...
mlb = MultiLabelBinarizer()
df_tmp = pd.DataFrame(mlb.fit_transform(df['CatData']), columns=mlb.classes_, index=df.index)
其中我的 CatData 列包含类别列表。
为了处理更大的数据集,我尝试使用 dask。大多数 pandas 功能都有一个简单的替代品。然而,one-hot 编码很棘手,因为事先不知道类别。我正在考虑在整个数据集中逐行扫描该列,将列表中找到的每个类别放入字典中。然后使用这些字典来创建 one-hot 编码的列名称。有没有办法在 dask 中更稳健地做到这一点?
最佳答案
您可能需要 df.categorize()
函数。
关于python - Dask one-hot 在不知道类别的情况下进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58022471/