python无法打开hdf5_python无法打开hdf5_python – Pandas无法读取用h5py创建的hdf5文件...

在尝试使用Pandas读取由h5py创建的HDF5文件时遇到TypeError。问题在于Pandas与HDF5文件的交互有特定限制。解决方案是直接读取NumPy数组并转换为Pandas对象。
摘要由CSDN通过智能技术生成

当我尝试读取用h5py创建的HDF5格式文件时,我得到了pandas错误.我想知道我是不是做错了什么?

import h5py

import numpy as np

import pandas as pd

h5_file = h5py.File('test.h5', 'w')

h5_file.create_dataset('zeros', data=np.zeros(shape=(3, 5)), dtype='f')

h5_file.close()

pd_file = pd.read_hdf('test.h5', 'zeros')

给出错误:

TypeError:如果对象不存在或传递值,则无法创建存储器

我尝试将密钥集指定为’/ zeros'(就像我在阅读文件时使用h5py一样)而没有运气.

如果我使用pandas.HDFStore读取它,我会得到一个空的商店:

store = pd.HDFStore('test.h5')

>>> store

File path: test.h5

Empty

用h5py读取刚刚创建的文件没有麻烦:

h5_back = h5py.File('test.h5', 'r')

h5_back['/zeros']

使用这些版本:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)

[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin

pd.__version__

'0.16.2'

h5py.__version__

'2.5.0'

提前谢谢了,

马沙

解决方法:

我在pandas.io上的pytables模块上做了一点工作,据我所知,pandas与HDF文件的交互仅限于熊猫理解的特定结构.要查看它们的外观,您可以尝试

import pandas as pd

import numpy as np

pd.Series(np.zeros((3,5),dtype=np.float32).to_hdf('test.h5','test')

如果在HDFView中打开“test.h5”,您将看到一个路径/测试,其中包含重新创建DataFrame所需的4个项目.

所以我认为你在NumPy数组中读取的唯一选择是直接读取它们然后将它们转换为Pandas对象.

标签:python,pandas,hdf5,h5py

来源: https://codeday.me/bug/20190926/1819442.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值