如何向作为组存储在 HDF5 文件中的 pandas 数据帧添加属性?

2023-12-19

我创建了一个多维 pandas 数据框,如下所示:

import numpy as np
import pandas as pd
iterables = [['bar', 'baz', 'foo', 'qux'], ['one', 'two']]
mindex = pd.MultiIndex.from_product(iterables, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(8, 4), index=mindex)
store = pd.HDFStore("df.h5")
store["df"] = df
store.close()

我想添加属性df存储在 HDFStore 中。我怎样才能做到这一点?好像没有文档 https://pandas.pydata.org/pandas-docs/stable/api.html#hdfstore-pytables-hdf5关于属性以及用于存储属性的组df与 HDF5 组的类型不同h5py模块:

type(list(store.groups())[0])
Out[24]: tables.group.Group

似乎是 pytables 组,只有这个涉及其他类型属性的私有成员函数:

__setattr__(self, name, value)
 |      Set a Python attribute called name with the given value.

我想要的是简单地存储一堆具有多维索引的 DataFrame,这些索引以结构化方式由属性“标记”,以便我可以比较它们并根据这些属性对它们进行子选择。

基本上 HDF5 的用途是用于 pandas 的 + multidim DataFrames。

有这样的问题this one https://stackoverflow.com/questions/33451926/read-hdf5-file-to-pandas-dataframe-with-conditions,它们处理使用 pandas 以外的其他读取器读取 HDF5 文件,但它们都有带有一维索引的 DataFrame,这使得简单地转储 numpy ndarrays 并另外存储索引变得很容易。


到目前为止我还没有得到任何答案,这就是我使用这两种方法设法做到的pandash5py模块:pandas用于存储和读取多维DataFrame,并且h5py存储和读取 HDF5 组的属性:

import numpy as np
import pandas as pd
import h5py

# Create a random multidim DataFrame
iterables = [['bar', 'baz', 'foo', 'qux'], ['one', 'two']]
mindex = pd.MultiIndex.from_product(iterables, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(8, 4), index=mindex)

pdStore = pd.HDFStore("df.h5")
h5pyFile = h5py.File("df.h5")

# Dumping the data and storing the attributes
pdStore["df"] = df
h5pyFile["/df"].attrs["number"] = 1

# Reading the data conditionally based on stored attributes.
dfg = h5pyFile["/df"]
readDf = pd.DataFrame()
if dfg.attrs["number"] == 1:
    readDf = pdStore["/df"]

print (readDf - df)
h5pyFile.close()
pdStore.close()

我仍然不知道两者都拥有是否有任何问题h5py and pandas处理.h5同时归档。

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

如何向作为组存储在 HDF5 文件中的 pandas 数据帧添加属性? 的相关文章

  • 学习Python中的解析器

    我记得我读过有关解析器的内容 您只需提供一些示例行 它就知道如何解析某些文本 它只是确定两条线之间的差异 以了解可变部分是什么 我以为它是用 python 写的 但我不确定 有谁知道那是什么图书馆吗 可能你的意思是模板制作器 http co
  • virtualenvwrapper 函数在 shell 脚本中不可用

    所以 我再一次制作了一个很棒的 python 程序 它让我的生活变得更加轻松 并节省了大量时间 当然 这涉及到一个 virtualenv 用mkvirtualenvvirtualenvwrapper 的功能 该项目有一个requiremen
  • 无法使用Python请求会话模块登录网站

    我刚刚开始进行网络抓取 对于我的第一个项目 我尝试使用 requests Session 登录 artofproblemsolving com 并访问另一个用户的帐户 这是我的代码 import requests LOGIN URL htt
  • argparse 不检查位置参数

    我正在创建一个脚本 它使用 argparse 接受位置参数和可选参数 我已经阅读了 Doug 的教程和 python 文档 但找不到答案 parser argparse ArgumentParser description script t
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 如何在 python 中使用交叉验证执行 GridSearchCV

    我正在执行超参数调整RandomForest如下使用GridSearchCV X np array df features all features y np array df gold standard labels x train x
  • 提高光线追踪命中功能的性能

    我有一个简单的 python 光线追踪器 渲染 200x200 的图像需要 4 分钟 这对于我的口味来说绝对是太多了 我想改善这种情况 几点 我为每个像素发射多条光线 以提供抗锯齿功能 每个像素总共发射 16 条光线 200x200x16
  • 机器学习的周期性数据(例如度角 -> 179 与 -179 相差 2)

    我使用 Python 进行核密度估计 并使用高斯混合模型对多维数据样本的可能性进行排名 每一条数据都是一个角度 我不确定如何处理机器学习的角度数据的周期性 首先 我通过添加 360 来删除所有负角 因此所有负角都变成了正角 179 变成了
  • Kivy TextInput 水平和垂直对齐(文本居中)

    如何在 Kivy 的 TextInput 中水平居中文本 I have the following screen But I want to centralize my text like this 这是我的 kv 语言的一部分 BoxLa
  • 在python中使用编解码器utf-8打开文件错误

    我在 windows xp 和 python 2 6 4 上执行以下代码 但它显示 IOError 如何打开名称带有 utf 8 编解码器的文件 gt gt gt open unicode txt euc kr encode utf 8 T
  • 增强迪基-富勒测试中的 BIC 在 Python 中到底是如何工作的?

    这个问题是关于 statsmodels tsa stattools python 库 adfuller 中的增强迪基 富勒测试实现 原则上 AIC 和 BIC 应该计算一组可用模型的信息标准 并选择最好的模型 信息损失最低的模型 但它们在增
  • 如何将 pandas DataFrame 转换为 TimeSeries?

    我正在寻找一种将 DataFrame 转换为 TimeSeries 而不拆分索引和值列的方法 有任何想法吗 谢谢 In 20 import pandas as pd In 21 import numpy as np In 22 dates
  • python 中的 F 字符串前缀给出语法错误[重复]

    这个问题在这里已经有答案了 我有一个名为 method 的变量 它的值是 POST 但是当我尝试运行时print f method method is used 它不断在最后一个双引号处给出语法错误 我找不到它这样做的原因 我正在使用 py
  • 本地主机上的 Google App Engine GQL 查询

    我正在 Google App Engine Windows 上的 SDK 版本 1 7 0 上开发一个应用程序 我需要经常测试该应用程序 并且此测试涉及数据存储上的大量 GQL 查询 您可以在 App Engine 管理界面的浏览器中在线运
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • Django 中使用外键的抽象基类继承

    我正在尝试在 Django 支持的网站上进行模型继承 以遵守 DRY 我的目标是使用一个名为 BasicCompany 的抽象基类来为三个子类提供通用信息 Butcher Baker CandlestickMaker 它们位于各自的应用程序
  • 为数据集生成随机 JSON 结构排列

    我想生成 JSON 结构的许多不同排列作为同一数据集的表示 最好不需要对实现进行硬编码 例如 给定以下 JSON name smith occupation agent enemy humanity nemesis neo 应该产生许多不同
  • 关闭正在运行代码的 IPython Notebook

    怎么运行的 我在 IPython Notebook 中运行了一些代码 一些迭代工作 我不小心关闭了正在运行的笔记本的浏览器 但回到 IPython 仪表板 我发现这个特定的笔记本尚未关闭 所以如果我再次打开笔记本 我会在它正在执行的代码前面
  • JSONDecodeError:额外数据:Python [重复]

    这个问题在这里已经有答案了 我使用以下代码从文件加载 json file file name obj list with open file as f for json obj in f obj list append loads json
  • 如何仅读取 CSV 文件每行的第一列 [重复]

    这个问题在这里已经有答案了 如何在Python中读取CSV文件每行的第一列 我的数据是这样的 1 abc 2 bcd 3 cde 我只需要循环第一列的值 另外 当我在 calc 中打开 csv 文件时 每行中的数据都在同一个单元格中 这正常

随机推荐

  • 从执行块中选择?

    是否可以从执行块结果中进行选择 我想从中执行一些操作 求和等 select t1 from execute block returns OUT VALUE integer as begin suspend end t1 or with t1
  • TMUX 设置会话的环境变量

    我的工作环境是 我有多个项目 并且每个项目中都有许多脚本 这些脚本使用设置为特定于该项目的值的环境变量 我想做的是为每个项目使用单独的 tmux 会话并设置变量 以便为该会话中的所有窗口设置它们 我尝试使用 set environment
  • 计算两个用户之间的社交距离

    如何编写一个有效的算法来返回两个用户之间的社交 距离 例如 当您访问 LinkedIn 上的个人资料时 您可以看到您与用户之间的距离 gt 用户 A 是用户 B 的朋友 并且 B 是 C 的朋友 当 A 访问 C 时 距离为 1 该图很大
  • 为什么使用客户端凭证流程?

    我一直在考虑使用 oauth2 客户端凭据授予来保护我的 API 所有用户都将是受信任的第三方 我在这里遵循与贝宝相同的方法 https developer paypal com docs integration direct paypal
  • 有没有一种聪明的方法来编写固定长度的平面文件?

    有没有任何框架 库可以帮助用java编写固定长度的平面文件 我想将 bean 实体的集合写入平面文件 而不用担心转换 填充 对齐 填充符等 例如 我想解析一个 bean 如下所示 public class Entity String nam
  • MySQL 错误:排序中止

    我在 Windows 2008 上有 MySQL 5 1 内存为 8G 该错误在事件查看器上每两秒发生一次 错误是 D SW MySQL MySQL server 5 1 bin mysqld 排序已中止 有人看到这个错误吗 至少有一些已知
  • Rx - 如何在收到 onNext() 后自动取消订阅?

    如何在收到 onNext 后自动取消订阅 现在我使用这段代码 rxObservable compose bindToLifecycle unsubscribe automatically in onPause if method was c
  • 设置 Android 中动态添加的 EditText 的属性

    我正在开发一个 Android 应用程序 它下载 xml 并显示一个布局 其中包含许多动态添加的编辑文本 复选框 旋转器等 如下所示 LinearLayout ll new LinearLayout this EditText nameFi
  • Vim 正则表达式不匹配字符类中的空格

    我正在使用 vim 进行搜索并用以下命令替换 s lambda s n s S gc 我正在尝试匹配 a 之后的所有单词 结束行和空白字符 例如 这一行的整个内容应该匹配 lambda FactoryGirl create 相反 它只匹配换
  • 使用通配符对多个值进行模式匹配

    在 Kotlin 中 我们可以使用when对给定值进行模式匹配 例如 when value 1 gt One 2 3 gt Two or three else gt The rest 我们还可以通过将两个值嵌套在一个中来同时对多个值进行模式
  • webMethods 遍历文档列表

    我正在创建一个流程服务 并在其中插入另一个流程 该流程将文档列表作为输出并包含 5 个字符串字段 问题是我无法循环该文档列表 无论我在输入数组 getPropertyOutput getPropertyOutput 0 中放入什么 都会被忽
  • 如果validation_data ValueError:具有多个元素的数组的真值不明确,则在 model.fit() 中引发错误。使用 a.any() 或 a.all()

    我正在尝试运行一个简单的自动编码器模型 我正在从包含词嵌入的 csv 中读取训练数据 我有这段代码 但标题中的错误是在model fit 功能并与我的连接validation data 我尝试了很多方法 但错误仍然存 在 我是 NLP 的新
  • Rake“已初始化常量 WFKV_”警告

    尝试跑步rake cucumber ok并收到此错误 Users dev rbenv versions 1 9 2 p290 lib ruby gems 1 9 1 gems rack 1 3 4 lib rack backports ur
  • 将 :host-context() 与相邻同级选择器一起使用

    我正在尝试使用 host context 和相邻的同级选择器来设置元素的样式 如下所示
  • 严格的别名规则是什么?

    当询问有关C 中常见的未定义行为 https stackoverflow com questions 98340 what are the common undefinedunspecified behavior for c that yo
  • Java8 从类中检索 lambda setter

    我试图为私有字段的 setter 获取 lambda 方法句柄 但由于某种原因 无法找到该 setter 这是我正在使用的功能接口 FunctionalInterface public interface ISetter
  • 强制执行有界 Nat?

    我怎样才能强制执行Nat that s lt N Example def lessThan5 x NatLT5 where lessThan5 Nat 4 会编译 但是lessThan5 Nat 6 不会 您可以使用类型类LTEq http
  • 错误:(gcloud.app.deploy)INVALID_ARGUMENT:无法解析源

    我正在尝试部署一个go 1 11运行时曾经有效 但最近我得到了 ERROR gcloud app deploy INVALID ARGUMENT unable to resolve source错误 我的里面什么也没有app yaml已更改
  • python中强度函数的积分

    有一个函数可以确定圆形孔径的夫琅和费衍射图案的强度 更多信息 http en wikipedia org wiki Airy Disk 距离 x 3 8317 3 8317 中函数的积分必须约为 83 8 如果假设 I0 为 100 当您将
  • 如何向作为组存储在 HDF5 文件中的 pandas 数据帧添加属性?

    我创建了一个多维 pandas 数据框 如下所示 import numpy as np import pandas as pd iterables bar baz foo qux one two mindex pd MultiIndex f