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

删除HDF文件内Pandas DataFrame行后重启失效,该如何解决?

问题:修改HDF文件读取后的DataFrame,重新读取后数据恢复原状态的原因?

操作步骤

  1. 读取HDF文件到内存中的DataFrame:
import pandas as pd
file = pd.read_hdf('/...mapping_trade_type/BBG002RRB_L3.h5', 'quote')
  1. 删除DataFrame中的大部分行:
file = file.drop(file.index[5:643368])

此时打印file可见剩余5行,但退出Python Shell后重新读取该quote表,数据又恢复为643368行。

原因及解决方法

  • 你只是在内存中修改了DataFrame对象,磁盘上的原始HDF文件完全没被改动。pd.read_hdf()的作用是把文件内容加载到内存生成DataFrame,后续的drop操作只改变了内存里的临时对象,并没有同步到磁盘文件。
  • 要让修改永久生效,需要在删除行后执行to_hdf()方法,将修改后的DataFrame写回原HDF文件,示例代码:
# 覆盖原quote表的数据
file.to_hdf('/...mapping_trade_type/BBG002RRB_L3.h5', 'quote', mode='w')

# 如果文件中有其他表需要保留,可使用追加模式
# file.to_hdf('/...mapping_trade_type/BBG002RRB_L3.h5', 'quote', mode='a')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:07:18