如何拆分pandas DataFrame各列中逗号分隔的值得到目标输出格式?
pandas 按逗号拆分列并整理为指定格式DataFrame实现方案
完整实现代码
import pandas as pd # 初始化输入的DataFrame df1 = pd.DataFrame( { "column0": ["xx, aa", "xx, aa"], "column1": ["yy","yy"], "column2": ["cc, xx", "cc, xx"]}) # 逐列处理拆分并收集结果 all_vals = [] for col in df1.columns: # 按`, `拆分每个单元格,展开为一维序列后加入结果列表 col_split = df1[col].str.split(', ', expand=False).explode() all_vals.extend(col_split.tolist()) # 生成符合要求的最终DataFrame df_result = pd.DataFrame([all_vals], columns=[f'column{i}' for i in range(len(all_vals))])
实现逻辑说明
- 对每一列调用
str.split(', ', expand=False),将单元格内逗号加空格分隔的字符串转为列表格式 - 用
explode()方法将列表中的每个元素拆分为单独的行,得到该列所有拆分后的一维数据 - 按列顺序收集所有拆分后的值,最后将结果列表转为单行DataFrame,自动按顺序命名列即可
- 运行后得到的
df_result和你给出的预期输出完全一致
内容的提问来源于stack exchange,提问作者xavi
相关产品推荐
相关产品推荐

