为每个熊猫数据框单元格的字符串列表分配唯一值

知识

我有一个Pandas数据框,其中包含一列带有字符串列表的列。

>>> df.head()

   genre
0  [Comedy,  Supernatural,  Romance]
1  [Comedy,  Parody,  Romance]
2  [Comedy]
3  [Comedy,  Drama,  Romance,  Fantasy]
4  [Comedy,  Drama,  Romance]

我该如何为列表中的每个值分配一个唯一的ID,该ID在整个列中都相同?

>>> df.head()

   genre
0  [1,  2,  3]
1  [1,  4,  3]
2  [1]
3  [1,  5,  3,  6]
4  [1,  5,  3]
cs95

复杂的是,我们要处理一列列表。我们可以通过首先展开行来稍微提高性能。然后使用factorize并返回原始格式:

v = df['genre'].explode()
v[:] = pd.factorize(v)[0] + 1
df['genre2'] = v.groupby(level=0).agg(list)

df
                               genre        genre2
0    [Comedy, Supernatural, Romance]     [1, 2, 3]
1          [Comedy, Parody, Romance]     [1, 4, 3]
2                           [Comedy]           [1]
3  [Comedy, Drama, Romance, Fantasy]  [1, 5, 3, 6]
4           [Comedy, Drama, Romance]     [1, 5, 3]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在熊猫数据框单元格中的列表中插入字符串值?

每个单元格包含列表时如何计算熊猫中唯一值的数量

汇总熊猫数据框中的列,其中每个单元格值都是一个列表

在熊猫中为数据框单元格分配值时出现问题

检查数据框中的单元格值是否为字符串

如何在数据框中找到值为字符串类型的单元格

如果在类型列表的单元格值中找到字符串,如何根据条件删除熊猫数据框中的行?

熊猫将许多列分组为一列,其中每个单元格都是一个值列表

如何在表的每个单元格中进行字符串拆分后获取唯一值和计数

从熊猫数据框中的每个单元格中删除列表

如何将字符串列表分成一行/单元格中的几行?

将每个单元格中的多个字符串列分解为无序的单个单元格字符串

熊猫:一个字符串在数据框单元格中出现几次?

根据值从熊猫数据框中减去每个单元格

替换熊猫数据框中每个单元格值的有效方法

熊猫数据框:将每个单元格与所有先前值进行比较

Pandas 将每个单元格都是字符串列表的列转换为整数列表

Python,从所需字符串列表中返回熊猫数据框列中子字符串的唯一且完全匹配并作为新列返回

熊猫-使用搜索按每个单元格中的字符串值进行修改

在excel或R中为给定范围的每个单元格中创建唯一值

如何从数据框创建一个包含字符串列的每个值乘以第二列的列表?

计算其单元格为列表的熊猫数据框的平均值

熊猫数据框组检查一列的唯一值的数量为一,但排除空字符串

如何使用单元格中的字符串重新输入熊猫中的数据框?

在熊猫数据框单元格中插入列表

熊猫数据框设置单元格为NaN

为单元格中的每个Lookupedit分配一个数据源

如何获取熊猫数据框的字符串列表?

从字符串列表创建熊猫数据框