例如,假设我有一个 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'}
