大熊猫从列表列中获得唯一值

hrokr

如何获取熊猫或numpy中的列表列的唯一值,例如第二列

在此处输入图片说明

会导致“行动”,“犯罪”,“戏剧”。我能想到的最接近(但不起作用)的解决方案是:

 genres = data['Genre'].unique()

但这可预料会导致TypeError,说明列表不可散列。

TypeError: unhashable type: 'list'

Set似乎是个好主意,但

genres = data.apply(set(), columns=['Genre'], axis=1)

但也会导致 TypeError: set() takes no keyword arguments

拉斐尔克

如果您只想查找唯一值,建议您使用itertools.chain.from_iterable串联所有这些列表

import itertools

>>> np.unique([*itertools.chain.from_iterable(df.Genre)])
array(['action', 'crime', 'drama'], dtype='<U6')

甚至更快

>>> set(itertools.chain.from_iterable(df.Genre))
{'action', 'crime', 'drama'}

Timings

df = pd.DataFrame({'Genre':[['crime','drama'],['action','crime','drama']]})
df = pd.concat([df]*10000)

%timeit set(itertools.chain.from_iterable(df.Genre))
100 loops, best of 3: 2.55 ms per loo
    
%timeit set([x for y in df['Genre'] for x in y])
100 loops, best of 3: 4.09 ms per loop

%timeit np.unique([*itertools.chain.from_iterable(df.Genre)])
100 loops, best of 3: 12.8 ms per loop

%timeit np.unique(df['Genre'].sum())
1 loop, best of 3: 1.65 s per loop

%timeit set(df['Genre'].sum())
1 loop, best of 3: 1.66 s per loop

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

大熊猫:从列列表中替换值列表

来自分类Dev

大熊猫在另一列中获得最高频率值

来自分类Dev

大熊猫:使用索引中的唯一值对矩阵进行分组和转置,并填充空白值

来自分类Dev

大熊猫更快的分组比:值列表

来自分类Dev

大熊猫,根据列值的唯一子集追加列

来自分类Dev

大熊猫,根据列值的唯一子集追加列

来自分类Dev

获得大熊猫的骨料

来自分类Dev

大熊猫获得具有一定值的行的列平均值?

来自分类Dev

大熊猫:根据索引值和外部列表值的组合创建一行

来自分类Dev

大熊猫:根据索引值和外部列表值的组合创建一行

来自分类Dev

如何获得大熊猫一年中的“重要”日子?

来自分类Dev

大熊猫:从存储为列值的列表中创建新列

来自分类Dev

如果值是多个,则大熊猫将丢弃一组中的值

来自分类Dev

在python的列表列表中获取唯一值

来自分类常见问题

大熊猫:将一列中的列表转换成单独的列

来自分类Dev

大熊猫:索引值数组中的序列值

来自分类Dev

大熊猫:按行计算百分位数并优雅地处理非唯一值?

来自分类Dev

大熊猫:使用其他两列中的任何一列添加新值

来自分类Dev

大熊猫:如何找到一列中每个类别的最大n值

来自分类Dev

删除大熊猫中的重复值,但经过一些操作

来自分类Dev

将列表转换为大熊猫中的日期时间

来自分类Dev

列表中的条件lambda函数?大熊猫

来自分类Dev

替换大熊猫数据框中的列值

来自分类Dev

如何获取大熊猫中连续值的比例?

来自分类Dev

将大熊猫中的值分组为索引

来自分类Dev

如何获得大熊猫假的计数

来自分类Dev

如何匹配列表和大熊猫

来自分类Dev

大熊猫从列列表分配结果

来自分类Dev

大熊猫拆开列表

Related 相关文章

热门标签

归档