我知道如何在一列上应用多标签二值化器,它对我很有效。
import pandas as pd
from sklearn.preprocessing import MultiLabelBinarizer
binarized_df = pd.DataFrame(mlb.fit_transform(df['One']), columns=mlb.classes_, index=df.index)
但是,我有20个不同的列要应用二进制化器,如果我想同时应用到所有列,它就不起作用
cols = ['One', 'Two',...'Twenty']
binarized_df = pd.DataFrame(mlb.fit_transform(df[cols]), columns=mlb.classes_, index=df.index)
有没有一种方法可以同时对多个列使用多标签二进制化器?
1条答案
按热度按时间67up9zun1#
既然
sklearn.preprocessing.MultiLabelBinarizer
接受classes
的一个 * 类似数组 * 的值,那么您是否尝试过将pandas.DataFrame.values
或pandas.DataFrame.to_numpy
添加到代码中?类:类似数组的形状(n_classes,),默认值=无
顺便说一下,
pandas.get_dummies
可能也适合您: