python - Dask one-hot 在不知道类别的情况下进行编码

标签 python dask one-hot-encoding

我有 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/

相关文章:

python - Scrapyd:如何指定部署项目可以使用的库和公共(public)文件夹?

python - 将 trigrams、bigrams 和 unigrams 与文本匹配;如果 unigram 或 bigram 是已经匹配的 trigram 的子串,则通过; Python

kubernetes - 为什么我的Dask客户端显示零工作人员,核心和内存?

python - 字符串的一个热编码列表

python - 从 .xlsx 获取单元格颜色

python - 如何知道我使用的 django 版本?是 1.0、1.1 还是 1.2?

dask - 使用 Dask 中的所有内核

python - 在 python 中读取 15 M 行 csv 文件的有效方法

python - python 中每行具有多个分类值的一种热编码

python - 来自 sklearn 的 OneHotEncoder 在传递类别时给出 ValueError