数据框的前两行df
:
0|50331648|{1,2,3,4,5}|6
1|50331649|{3,5,7,8}|2
执行操作后,我只需要一个包含{1,2,3,4,5,7,8}
的集合。
如何实现它?
答案 0 :(得分:5)
假设"B"
是要考虑的列名,您可以在获取的解压缩列表中使用set.union
:
set.union(*df['B'].tolist())
{1, 2, 3, 4, 5, 7, 8}
(OR)
将这些作为可调用函数提供给reduce
:
from functools import reduce # If you're on Py3k
reduce(set.union, df['B'].tolist())
{1, 2, 3, 4, 5, 7, 8}
<强> 数据:的强>
df = pd.DataFrame(dict(A=[50331648, 50331649],
B=[{1,2,3,4,5}, {3,5,7,8}],
C=[6,2])
)