Skip to main content
 首页 » 编程设计

python之将 pandas 列表列转换为 python 集

2025年05月04日15mengfanrong

例如,假设我有一个 pandas 列表列

column1 
['a', 'b', 'b', 'd', 'e'] 
['b', 'e', 'g'] 

如何将其转换为 python 集?

例如

print(pythonSet) 
> {'a', 'b', 'd', 'e', 'g'} 

我尝试执行 set(df['column1']) 但这会导致错误

请您参考如下方法:

简短而甜美:

{*df['column1'].sum()} 
# {'a', 'b', 'd', 'e', 'g'} 

这个想法是首先将您的列表列展平为一个可迭代对象。对于 python <= 3.5,请使用 set(...) 而不是解包运算符 {*...}。


在性能方面更好:

from itertools import chain 
{*chain.from_iterable(df['column1']) 
# {'a', 'b', 'd', 'e', 'g'} 

在性能方面也不错 - 嵌套列表理解(但 chain 稍微快一点):

{y for x in df['column1'] for y in x} 
# {'a', 'b', 'd', 'e', 'g'}