Pandas如何合并多列字符串并将逗号分隔值拆分为单独行
Pandas 实现多列拆分合并为单列的方案
核心思路
先对第二列的逗号分隔值做拆分和行展开,再将第一列和展开后的第二列的值合并为同一列即可。
完整可运行代码
import pandas as pd # 构造原始数据(如果是读入的csv/excel数据直接用pd.read_csv/pd.read_excel加载即可) df = pd.DataFrame({ 'Column 1': ['"A"', '"T"'], 'Column 2': ['"B,C,D,E"', '"X,R,S"'] }) # 步骤1:去除所有值的多余双引号(如果原始数据没有引号可跳过这一步) df = df.apply(lambda x: x.str.strip('"')) # 步骤2:将Column 2按逗号拆分为列表 df['Column 2'] = df['Column 2'].str.split(',') # 步骤3:将拆分后的列表展开为独立行 df_exploded = df.explode('Column 2', ignore_index=True) # 步骤4:合并Column 1和展开后的Column 2为同一列 result = pd.concat([df['Column 1'], df_exploded['Column 2']], ignore_index=True).to_frame('Column 1') # 输出结果查看 print(result)
运行输出示例
Column 1 0 A 1 T 2 B 3 C 4 D 5 E 6 X 7 R 8 S
如果需要保留原始的双引号,直接删除步骤1的去引号代码即可。
内容的提问来源于stack exchange,提问作者Bigtimeexcel
相关产品推荐
相关产品推荐

