gpt4 book ai didi

python - 如何将值是列表的系列的值折叠成唯一列表

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:22 25 4
gpt4 key购买 nike

给定如下所示的 Pandas 系列:

0 [ID01]
1 [ID02]
2 [ID05, ID08]
3 [ID09, ID56, ID32]
4 [ID03]

目标是获得如下所示的单个列表:

[ID01, ID02, ID05, ID08, ID09, ID56, ID32, ID03]

如何在 Python 中以 Pythonic 的方式实现它?

最佳答案

假设这是一个 pandas.Series 对象

选项1

完整列表

np.concatenate(s).tolist()

选项 1.1

唯一列表

np.unique(np.concatenate(s)).tolist()

选项 2

如果元素是列表则有效。如果它们是 numpy 数组则不起作用。
完整列表

s.sum()

选项 2.1

唯一列表

pd.unique(s.sum()).tolist()

选项3

完整列表

[x for y in s for x in y]

选项 3.1

唯一列表(感谢@pault)

list({x for y in s for x in y})

@文的选择

list(set.union(*map(set, s)))

设置

s = pd.Series([
['ID01'],
['ID02'],
['ID05', 'ID08'],
['ID09', 'ID56', 'ID32'],
['ID03']
])

s

0 [ID01]
1 [ID02]
2 [ID05, ID08]
3 [ID09, ID56, ID32]
4 [ID03]
dtype: object

关于python - 如何将值是列表的系列的值折叠成唯一列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49700189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com