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

如何将Pandas DataFrame中解析后的Series列拆分为独立列?

解决方案

方法一:批量转换合并(效率更高)

适合一次性提取所有字段,代码简洁高效:

import pandas as pd

# 假设原始DataFrame名为df
# 将parsed列的Series集合转为新DataFrame
parsed_data = pd.DataFrame(df['parsed'].tolist())

# 重命名列名匹配需求
parsed_data = parsed_data.rename(columns={
    'house': 'hno',
    'street name': 'street',
    'postcode': 'postcode'
})

# 合并原始DataFrame(移除parsed列)和新字段列
final_df = pd.concat([df.drop('parsed', axis=1), parsed_data], axis=1)

方法二:逐列提取(更直观)

如果想清晰看到每一步的字段提取过程,可以用apply逐个生成新列:

# 从parsed列的每个Series中提取对应字段
df['hno'] = df['parsed'].apply(lambda x: x['house'])
df['street'] = df['parsed'].apply(lambda x: x['street name'])
df['postcode'] = df['parsed'].apply(lambda x: x['postcode'])

# 移除不再需要的parsed列
df = df.drop('parsed', axis=1)

效果验证

运行任意一种方法后,你的DataFrame都会生成hno、street、postcode三列,完全匹配你给出的示例效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:55:22