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

2024-06-16 11:13:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件有两列…图像名称和相应的多个标签。我想把它转换成一个多重二进制向量。但我犯了个错误。你知道吗

我在标签的第二列上直接尝试了sklearn的MultipleBinarizer。你知道吗

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

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

df.head()给出image name ['label1','label2']

我想得到这个二进制程序。你知道吗


Tags: 文件csv图像名称dflabels错误二进制
1条回答
网友
1楼 · 发布于 2024-06-16 11:13:47

我尝试了下面的代码,它为我工作。我确信还有其他方法,但希望这能有所帮助。
我的输入文件如下所示
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_)

相关问题 更多 >