如何使用pandas将列内的分隔数据拆分为多个独立列
pandas 按分隔符拆分单列生成多个独立列
直接使用Series的str.split()方法即可实现需求,传入分隔符|并设置参数expand=True,就会把分隔后的内容展开为多列结构(如果不加这个参数,拆分结果会是每个单元格存储列表的单列,无法达到拆分多列的效果)。
完整可运行代码如下:
import pandas as pd name_dict = { 'Name': ['a|b|c|d|e'] } df = pd.DataFrame(name_dict) # 拆分核心逻辑 split_cols = df['Name'].str.split('|', expand=True) # 可按需给拆分后的列自定义列名 split_cols.columns = [f'part_{i+1}' for i in range(split_cols.shape[1])] print(split_cols)
运行输出结果如下,每个分隔段都会成为独立列:
| 索引 | part_1 | part_2 | part_3 | part_4 | part_5 |
|---|---|---|---|---|---|
| 0 | a | b | c | d | e |
如果原表还有其他需要保留的非拆分列,可以用拼接的方式把拆分后的列合并回原表:
df_final = pd.concat([df.drop(columns=['Name']), split_cols], axis=1)
内容的提问来源于stack exchange,提问作者AK007
相关产品推荐
相关产品推荐

