如何将DataFrame中逗号分隔的字符串转为多行数据?
拆分DataFrame中逗号分隔的列值为多行
直接用 pandas 的 str.split() 配合 explode() 方法就能搞定,步骤如下:
1. 构造示例数据(模拟你的原始DataFrame)
import pandas as pd df = pd.DataFrame({ 'user': ['user1', 'user2'], 'items': ['apple, bread, cheese, orange', 'apple, corn, strawberry, squash'] })
2. 拆分并展开列值
- 先把
items列的逗号分隔字符串拆成列表:
df['items'] = df['items'].str.split(', ') # 注意这里的分隔符是逗号加空格,根据实际数据调整
- 再用
explode()把列表中的每个元素拆成单独一行,同时保留对应的user值:
df_exploded = df.explode('items')
最终结果
打印df_exploded就会得到你想要的格式:
user items 0 user1 apple 0 user1 bread 0 user1 cheese 0 user1 orange 1 user2 apple 1 user2 corn 1 user2 strawberry 1 user2 squash
如果你的原始数据里items列的分隔符只有逗号(没有空格),把str.split(', ')改成str.split(',')就行。
内容的提问来源于stack exchange,提问作者user5844628
相关产品推荐
相关产品推荐

