如何用Python将DataFrame中逗号分隔值拆分为多列
解决方案
关键操作:str.split加expand=True参数
你之前的问题出在没给str.split加expand=True,导致拆分结果没转成多列,而是生成了含列表的Series。按下面步骤操作就能得到目标列:
代码实现
- 先构造你的示例DataFrame(如果已有可跳过):
import pandas as pd df = pd.DataFrame({'NVE Liste': ['0034104060001008405,00341040600001008498,00341040600002187444,00341040600002187505,00341040600002187512,00341040600002190079,00341040600002190093,00341040600002196880,00341040600012187434,00341040600012187496']})
- 拆分并重命名列:
# 拆分字符串为多列 split_cols = df['NVE Liste'].str.split(',', expand=True) # 批量重命名列 split_cols.columns = [f'NVE{i+1}' for i in range(split_cols.shape[1])] # 合并到原DataFrame(可选,不需要原列可直接用split_cols) final_df = pd.concat([df, split_cols], axis=1)
结果说明
执行后final_df会包含原列NVE Liste,以及新增的NVE1到NVE10列,每列对应一个拆分后的编号。如果不需要原列,直接使用split_cols即可。
内容的提问来源于stack exchange,提问作者Julin Shah
相关产品推荐
相关产品推荐

