如何使用列中给出的多个标签创建列表

问题描述 投票:1回答:1

我有一个包含2列的csv文件...图像名称及其对应的多个标签。我想将它转换为多个二值化矢量。但我收到了错误。

我已经在第二列标签上直接尝试了sklearn的MultipleBinarizer

df["labels"][0]给出:

['label1', 'label2', 'label3']

df.head()image name ['label1','label2']等。

我想为此获得二进制化器。

python pandas csv
1个回答
0
投票

我尝试下面的代码,它对我有用。我相信还有其他方法,但希望这会有所帮助。 我的输入文件如下所示 enter image description here

import pandas as pd
import numpy as np
from sklearn.preprocessing import MultiLabelBinarizer
file = pd.read_csv('file.csv', sep='\t')
y = file['label'].apply(lambda f: f.split(','))
binarizer = MultiLabelBinarizer()
one_hot = binarizer.fit_transform(y.values)
print(one_hot, binarizer.classes_)
© www.soinside.com 2019 - 2024. All rights reserved.