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

如何高效向pandas DataFrame写入数据?避免逐行写入

高效批量写入DataFrame替代逐行插入的方法

当然可以!逐行循环写入DataFrame的方式效率极低——每次append都会复制整个DataFrame,数据量越大性能损耗越明显。针对你这种嵌套JSON的场景,完全可以用批量提取+一次性构造DataFrame的方式来优化,下面给你两种实用方案:

方案1:批量提取指定字段构造DataFrame

如果只需要提取cadence这一个字段,直接用列表推导式批量取出所有值,再一次性生成DataFrame即可:

import pandas as pd

# 假设 workoutSamples 是你的JSON响应字典
data_entries = workoutSamples['data']
# 批量提取所有节点的cadence值(用get避免字段缺失报错)
cadence_list = [entry.get('cadence') for entry in data_entries]
# 直接创建包含cadence列的DataFrame
df = pd.DataFrame({'cadence': cadence_list})

方案2:用json_normalize处理复杂嵌套JSON

如果你的data节点里还有其他需要提取的嵌套字段,用pandas的json_normalize工具可以直接解析整个嵌套结构,自动将JSON字段映射为DataFrame的列,一步到位:

import pandas as pd

# 直接解析整个data列表,自动展开所有嵌套字段
df = pd.json_normalize(workoutSamples['data'])

# 如果只需要保留特定列(比如cadence和其他字段),可以指定列名筛选
target_columns = ['cadence', 'speed', 'heart_rate']
df = pd.json_normalize(workoutSamples['data'])[target_columns]

为什么这两种方法更高效?

pandas的核心优势就是向量化操作,批量处理是在底层用C实现的,避免了Python循环的额外开销。相比逐行append,这种方式的性能提升在数据量超过千条时会非常明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:05:58