使用Python或pandas按逗号拆分列并转换为多行的实现方法
实现代码
首先确保你的pandas版本≥0.25,用内置的explode方法即可快速实现需求:
import pandas as pd # 1. 读取你的数据集,按需替换读取方式(读Excel用pd.read_excel) df = pd.read_csv("你的数据文件路径.csv") # 2. 将第二列按逗号拆分为列表,这里假设第二列列名为col2,按索引取可以替换为df.iloc[:,1] df["col2"] = df["col2"].str.split(",") # 3. 将列表的每个元素拆分为单独行,ignore_index=True会自动重置新的连续索引 df = df.explode("col2", ignore_index=True) # 可选:导出处理后的结果 df.to_csv("处理后结果.csv", index=False)
旧版本pandas兼容方案
如果你的pandas版本低于0.25没有explode方法,可以用下面的代码实现相同效果:
import pandas as pd df = pd.read_csv("你的数据文件路径.csv") df = df.drop("col2", axis=1).join( df["col2"].str.split(",", expand=True).stack().reset_index(level=1, drop=True).rename("col2") ).reset_index(drop=True)
内容的提问来源于stack exchange,提问作者C Cheng
相关产品推荐
相关产品推荐

