使用另一个 pandas DataFrame 更新存储在 Pytable 中的 pandas DataFrame

2024-02-03

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

import pandas as pd
import numpy as np
import datetime as dt
index = pd.DatetimeIndex(start = dt.datetime(2001,1,1,0,0), periods = 20000,freq='10T')
data_in_pytable = pd.DataFrame(index=index,data=np.random.randn(20000,2),columns=['value_1','value_2'])
data.to_hdf(r'C:\pytable.h5','test',mode='r+',append=True,complevel=9,complib='zlib')

这样pytable就创建好了。假设我有另一个 dataFrame,我想用它来更新 Pytable:

new_index = pd.DatetimeIndex(start = dt.datetime(2001,5,1,0,0), periods = 10000,freq='10T')
data_to_update=pd.DataFrame(index=new_index,data=np.random.randn(10000,2),columns=['value_1','value_2'])
store=pd.HDFStore(r'C:\pytable.h5',mode='r+',complevel=9,complib='zlib')
store.append('test',store.select('test').combine_first(data_to_update))
store.close()

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

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

谢谢, 弱电


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

最简单的方法是使用mode='w'并写入一个新文件或

store.remove(key); store.append(.....)

HDF5不是“常规”数据库,更新也不是常见操作,如果您需要,SQL 可能是一个选项。

欢迎提出要求update作为一个问题的增强。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用另一个 pandas DataFrame 更新存储在 Pytable 中的 pandas DataFrame 的相关文章

随机推荐

  • 一次在文件系统上执行多个操作的正确方法是什么?

    假设我想知道一个文件是否存在 如果它是一个目录 则另外检索它的内容 我可能会这样走 browseSimple FilePath gt IO Either FilePath FilePath browseSimple x do isAvail
  • Apache 与 Angular2 - 404 未找到

    我已经使用 Bitnami 映像在 AWS 服务器上部署了 Angular2 应用程序 该应用程序由 Apache 提供服务 在端口 8080 上配置了虚拟主机 只要我从index html 如果我想访问不同的页面 已在RouteConfi
  • 检测 Windows 和 Linux 上的操作系统和 Java

    我有一个基于 Maven 的 JavaFX 项目 我想在 Windows 和 Linux 上构建 Maven 项目 为了在部署捆绑包时自动化该过程 我想自动检测操作系统 在 Windows 中我有这样的配置
  • 计算过滤列中有多少个不同值(或获取不同值列表)

    有没有办法计算一个数组中不同值的数量filteredExcel 中的列 使用公式https exceljet net formula count unique values in a range with countif https exc
  • 如何从异步方法获取button_ClickEvent中的字符串

    我的朋友们 我有以下代码 public static CookieContainer cookies public static HttpWebRequest GetNewRequest string targetUrl CookieCon
  • Python:使 eval 安全[重复]

    这个问题在这里已经有答案了 我想要一种简单的方法来在 Python 中执行 计算器 API 现在我不太关心计算器将支持的确切功能集 我希望它接收一个字符串 比如说 1 1 并返回一个带有结果的字符串 在我们的例子中 2 有没有办法制作eva
  • Minishift:无法解析:*.192.168.64.2.nip.io

    我已经安装了微移在 OSX 上使用brew brew cask install minishift beta minishift version Minishift version 1 0 0 我已经成功启动了 minishift 并创建了
  • 从 Java 调用 PHP [重复]

    这个问题在这里已经有答案了 可能的重复 从java调用php方法 https stackoverflow com questions 614894 invoking a php method from java 我正在编写一个Java 类
  • 复杂数据的曲线拟合

    我想用共享相同参数的两个函数来拟合复杂的数据集 为此我使用了 def funcReal x a b c d return np real a 1j b np exp 1j k x kappa1 x np exp kappa2 x c 1j
  • python 映射函数迭代

    results 是一个嵌套列表 如下所示 gt gt gt results 1 2 3 a b 1 2 3 c d 4 5 6 a b 4 5 6 c d pr 是一个函数 其定义如下 gt gt gt def pr line print
  • 实体框架 - 在更新时保存子实体

    我有一个发票实体 它有子发票日志实体 当我第一次创建发票并添加其 InvoiceLog 实体并保存时 它工作正常 但是 如果我随后编辑发票并尝试添加其他 InvoiceLog 实体 它会完全忽略新的 InvoiceLog 实体并且根本不保存
  • 有一些常见的方法来写入和读取配置文件吗?

    我需要我的程序创建和编辑一个配置文件 其中包含有关对象集的信息 然后在每次执行时读取它 是否有某种我可以使用的配置样式指南 我在 Windows 上使用 C 我建议查看提升 属性树 http www boost org doc libs 1
  • 我应该如何处理 kvo 中的 NSIndexSet 来更新表视图?

    我开始使用键值观察 并且我正在观察的可变数组在更改字典中为我提供了 NSIndexSets 有序可变对多 据我所知 问题是表视图希望我给它充满索引的 NSArrays 我考虑过实现一种自定义方法来将一个方法转换为另一个方法 但这似乎很慢 而
  • 减少 begin() 迭代器,然后再次增加

    这些陈述按照标准有效吗 std string str 123 auto it str begin it it Does it point to character 1 now 我在 g 4 7 2 和 clang 3 5 上尝试过这个 it
  • 是否可以在 Pydantic 中将未知字段更改为驼峰命名法?

    我定义了一个 Pydantic 模式 它接受未知字段 如下所示 from stringcase import camelcase from pydantic import BaseModel as pydanticBaseModel cla
  • Lightgbm 中“is_unbalance”参数的使用

    I am trying to use the is unbalance parameter in my model training for a binary classification problem where the positiv
  • 需要java API来解析SQL语句[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要一个java API来解析SQL语句 例如 我有一个 SQL 查询 SELECT PRODUCTS PROD ID PRODUCTS
  • 在SQL Server中创建用户后无法登录

    我的问题是创建用户后无法登录 SQL Server 用户创建成功 因为新用户列在安全 登录下 怎么解决这个问题 用户 sims 登录失败 该用户未与某个关联 受信任的 SQL Server 连接 微软 SQL Server 错误 18452
  • 如何创建动态路径组件并结合重试直到

    我有一个用例 我需要首先调用 API 来获取 ID 列表 从该响应中选择一个随机 ID 接下来 我调用第二个 API 它使用随机 ID 作为路径中的组件 第二个 API 调用可能会返回空响 应 因此我想利用retry until但在每次重试
  • 使用另一个 pandas DataFrame 更新存储在 Pytable 中的 pandas DataFrame

    我正在尝试创建一个函数 用 pandas DataFrame 中的新数据更新我存储在 PyTable 中的 pandas DataFrame 我想检查 PyTable 中是否缺少特定 DatetimeIndexes 的某些数据 值为 NaN