python – Pandas无法读取用h5py创建的hdf5文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Pandas无法读取用h5py创建的hdf5文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1331字,纯文字阅读大概需要2分钟。
内容图文
当我尝试读取用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
<class 'pandas.io.pytables.HDFStore'>
File path: test.h5
Empty
用h5py读取刚刚创建的文件没有麻烦:
h5_back = h5py.File('test.h5', 'r')
h5_back['/zeros']
<HDF5 dataset "zeros": shape (3, 5), type "<f4">
使用这些版本:
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无法读取用h5py创建的hdf5文件全部内容,希望文章能够帮你解决python – Pandas无法读取用h5py创建的hdf5文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。