- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我们在数据框列中有列表
df['a'][0] = ['earth','mars','earth','moon']
df['a'][1] = ['jupiter','pluto','sun']
有没有办法使用多标签二值化器来获取
earth mars moon sun jupiter pluto
df['a'][0] 2 1 1 0 0 0
df['a'][1] 0 0 0 1 1 1
我想将其翻译为大量的过程代码
最佳答案
import pandas as pd
from sklearn.preprocessing import MultiLabelBinarizer
planet = pd.DataFrame()
planet['planet_group'] = ['group_a', 'group_b']
planet['planet_list'] = [
['earth', 'mars', 'earth', 'moon'], ['jupiter', 'pluto', 'sun']]
g_planet = []
l_planet = []
for row in planet.itertuples():
for i in row.planet_list:
l_planet.append(i.rstrip())
g_planet.append(row.planet_group)
data_tuples = list(zip(g_planet, l_planet))
new_planet = pd.DataFrame(data_tuples, columns=['group_name', 'value'])
new_planet['value'] = new_planet['value'].apply(lambda x: [x])
mlb = MultiLabelBinarizer()
finaldf = new_planet.join(pd.DataFrame(mlb.fit_transform(new_planet.pop('value')),
columns=mlb.classes_,
index=new_planet.index))
sumdf = finaldf.groupby('group_name').agg(lambda x: sum(x))
print(sumdf)
输出将是这样的
earth jupiter mars moon pluto sun
group_name
group_a 2 0 1 1 0 0
group_b 0 1 0 0 1 1
我所做的是更改您的数据集,为每个列表添加名称,然后将其转换为包含名称和值的新数据框,其中名称包含相关列表中的一颗行星。然后应用到 MultiLableBinarier 后,我们按用户分组并对里面的值求和。
希望对你有帮助。
关于python - MultiLabelBinarizer 可以表示值的计数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50260642/
我有一个数据框,其中一列是 short_names。 short_names 由 2-5 个字母组成 => BG,OP,LE,WEL,LC。每行可以有任意数量的名称。 我正在尝试使用 MultiLab
我有一列包含 15000 个数组。请从 15000 条记录中找到 2 条此类记录的样本。我想为 Genres_relevant 下的值创建虚拟值。 user Genres_relevant 1
假设我们在数据框列中有列表 df['a'][0] = ['earth','mars','earth','moon'] df['a'][1] = ['jupiter','pluto','sun'] 有没
给定这个简单的多标签分类示例(取自这个问题,use scikit-learn to classify into multiple categories) import numpy as np from
我有以下数组:“['book','read']”“['cup','drink']”等,我想将其转换为列表这将允许我申请 MultiLabelBinarizer . 目前它要么给我单个字符,要么只输出
我的问题是:我怎样才能像这样转换数据框以最终在 scikit 的 MulitLabelBinarizer 中使用它: d1 = {'ID':[1,2,3,4], 'km':[80,90,90,100]
我想知道是否可以在 ColumnTransformer 中使用 MultilabelBinarizer。 我有一个玩具 Pandas 数据框,例如: df = pd.DataFrame({"id":[
我的目标是一个如下所示的数据帧,使用 MultiLabelBinarizer 对我的数据帧(一次每一行)进行编码效果很好,而解码总是以错误的顺序输出数据。 这是一个简单的数据框(我的目标 y): in
编辑:我已将代码从 mlb 更改为 TfIdfVectorizer()。我仍然面临一个问题。请看下面我的代码。 from sklearn.externals import joblib from sk
在 Python3 中,我有一个多标签二进制数据格式的起始数据框: df1: "a" "b" "c" "d" "e" 1 1 0 0 1 0 0 1 0 1 1
如何获取 MultiLabelBinarizer 中的项目计数? import pandas as pd from sklearn.preprocessing import MultiLabelBin
在实例化 MultiLabelBinarizer 之后,我需要它的 inverse_transform 方法来处理我在别处构建的矩阵。不幸的是, import numpy as np from skl
在多标签分类问题中,我使用 MultiLabelBinarizer 将 20 个文本标签转换为 0 和 1 的二进制列表。 预测后,我得到了 20 个二进制值的列表,我想输出相应的文本标签。 我只是想
我正在构建一个多标签分类器来根据文本字段预测标签。例如,根据电影标题预测类型。我想使用 MultiLabelBinarizer() 对包含所有适用流派标签的列进行二值化。例如,['action','c
我是一名优秀的程序员,十分优秀!