如何用Python Pandas将DataFrame单元格文本拆分为多行?
Pandas 将DataFrame列拆分为多行的解决方案
假设你的DataFrame中Items ordered列的元素是以特定分隔符(比如逗号)分隔的字符串,可通过以下步骤实现列拆分多行的需求:
- 构造示例数据(模拟你的原始DataFrame结构)
import pandas as pd df = pd.DataFrame({ 'Order ID': [1001, 1002], 'Customer Name': ['Alice', 'Bob'], 'Items ordered': ['Apple,Banana,Orange', 'Milk,Bread'] })
- 拆分并展开列
- 如果分隔符是无空格的逗号:
# 按逗号拆分列值为列表 df['Items ordered'] = df['Items ordered'].str.split(',') # 将列表展开为多行,重置索引 df = df.explode('Items ordered').reset_index(drop=True)
- 如果分隔符是带空格的逗号(如
Apple, Banana),需额外处理空格:
# 拆分后去除每个元素的首尾空格 df['Items ordered'] = df['Items ordered'].str.split(',').apply(lambda x: [item.strip() for item in x]) df = df.explode('Items ordered').reset_index(drop=True)
处理完成后,Items ordered列的每个商品都会单独占据一行,与你期望的效果一致。
内容的提问来源于stack exchange,提问作者user13617491
相关产品推荐
相关产品推荐

