首页 > 解决方案 > Pandas 根据分隔符将行中的值拆分为多行

问题描述

我有以下格式的 Pandas 数据框。

[apple]
[banana]
[apple, orange]

我想将其转换为只有唯一值,但每个值按行拆分:

apple
banana
orange

标签: pythonpandas

解决方案


您可以使用itertools.chainandfrom_iterable()来展平列表列表并OrderedDict删除重复项以保持顺序:

from collections import OrderedDict
import itertools

df['col2']=OrderedDict.fromkeys(itertools.chain.from_iterable(df.col)).keys()
print(df)

               col    col2
0          [apple]   apple
1         [banana]  banana
2  [apple, orange]  orange

推荐阅读