python - Pandas 根据分隔符将行中的值拆分为多行
问题描述
我有以下格式的 Pandas 数据框。
[apple]
[banana]
[apple, orange]
我想将其转换为只有唯一值,但每个值按行拆分:
apple
banana
orange
解决方案
您可以使用itertools.chain
andfrom_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
推荐阅读
- csv - Beeline-Hive 在数据顶部返回带有空白行的 CSV
- kubernetes - 如何设置 ingress-nginx 自定义错误
- sql - 在 SQL 中将 ISO-8601 varchar (0000-00-00T00:00:00+00:00) 转换为 datetime
- r - 如何在 R 中创建特定函数来模拟生物学情况
- go - 如何比较两个不同类型的结构?
- angular - Angular - 动态设置 css - ExpressionChangedAfterItHasBeenCheckedError
- asp.net-core - 授权策略 requireAuthenticatedUser 是否兼容多种形式的身份验证(cookie 和 JWT)
- php - Wordpress - 在产品页面上添加社交按钮
- angular - Angular 2 开关插座
- javascript - 从 package.json 作为脚本运行时出现 ESLint 错误