You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将带冒号分隔项的Python列表转换为Pandas DataFrame

将冒号分隔列表转换为指定列名的DataFrame

当然可以!这里有几种简单高效的方法帮你把这个冒号分隔的列表转换成带有Name、Age、Occupation列名的DataFrame:

方法一:手动拆分列表后构造DataFrame

这种方法先将原始列表的每个元素按冒号分割,再直接传入pd.DataFrame并指定列名,逻辑清晰易懂:

import pandas as pd

x = ['john:42:engineer', 'michael:29:doctor']
# 遍历列表,将每个字符串按冒号拆分为子列表
split_items = [item.split(':') for item in x]
# 构造DataFrame并设置列名
df = pd.DataFrame(split_items, columns=['Name', 'Age', 'Occupation'])
print(df)

运行后输出就是你想要的格式:

Name Age Occupation
0      john  42   engineer
1  michael  29     doctor

方法二:利用Pandas字符串拆分功能(更简洁)

Pandas的str.split方法可以直接对Series进行拆分,expand=True参数会将拆分后的结果展开为多列,非常方便:

import pandas as pd

x = ['john:42:engineer', 'michael:29:doctor']
# 将列表转为Series,按冒号拆分并展开为列
df = pd.Series(x).str.split(':', expand=True)
# 重命名列名
df.columns = ['Name', 'Age', 'Occupation']
print(df)

额外优化:将Age转为数值类型

上面两种方法得到的Age列是字符串类型,如果需要将其转为整数类型,可以添加一行代码:

df['Age'] = df['Age'].astype(int)

这样Age列就会变成数值型,方便后续的数值计算。

内容的提问来源于stack exchange,提问作者itthrill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 23:08:10