我正在尝试创建一个函数,该函数使用来自pandas DataFrame的新数据更新存储在PyTable中的pandas DataFrame。我想检查特定的DatetimeIndexes(值是NaN或可用的新时间戳)在PyTable中是否缺少某些数据,将其替换为给定 Pandas DataFrame中的新值,并将其附加到Pytable中。基本上,只需更新一个Pytable。我可以在Pandas中使用Combine_first方法获取组合的DataFrame。
在Pytable下方使用伪数据创建:



这样就创建了pytable。假设我有另一个要更新Pytable的dataFrame:



问题在于PyTable保留原始值,而不更新现有值。我现在有重复的条目(按索引),因为原始值没有被覆盖。

概括:
如何使用另一个DataFrame更新PyTable?

谢谢,
小 Sprite

最佳答案

目前不支持此功能。 PyTables确实支持update方法,但未在 Pandas 中实现。

最简单的方法是使用mode='w'并写入一个新文件,或者
store.remove(key); store.append(.....)HDF5不是“常规”数据库,如果需要使用SQL,则更新也不是常见的操作。

随时要求update作为增强功能。

10-08 13:16