python – PyTables读取随机子集
发布时间:2020-12-30 15:14:54 所属栏目:Python 来源:互联网
导读:是否可以从HDF5中读取行的随机子集(通过pyTables,或者最好是pandas)?我有一个非常大的数据集,有数百万行,但只需要几千个样本进行分析.从压缩的HDF文件中读取怎么样? 使用HDFStore文档是 here,压缩文档是 here 0.13支持通过构造索引进行随机访问 In [26]: df
是否可以从HDF5中读取行的随机子集(通过pyTables,或者最好是pandas)?我有一个非常大的数据集,有数百万行,但只需要几千个样本进行分析.从压缩的HDF文件中读取怎么样? 解决方法使用HDFStore文档是 here,压缩文档是 here0.13支持通过构造索引进行随机访问 In [26]: df = DataFrame(np.random.randn(100,2),columns=['A','B']) In [27]: df.to_hdf('test.h5','df',mode='w',format='table') In [28]: store = pd.HDFStore('test.h5') In [29]: nrows = store.get_storer('df').nrows In [30]: nrows Out[30]: 100 In [32]: r = np.random.randint(0,nrows,size=10) In [33]: r Out[33]: array([69,28,8,2,14,51,92,25,82,64]) In [34]: pd.read_hdf('test.h5',where=pd.Index(r)) Out[34]: A B 69 -0.370739 -0.325433 28 0.155775 0.961421 8 0.101041 -0.047499 2 0.204417 0.470805 14 0.599348 1.174012 51 0.634044 -0.769770 92 0.240077 -0.154110 25 0.367211 -1.027087 82 -0.698825 -0.084713 64 -1.029897 -0.796999 [10 rows x 2 columns] 要包含其他条件,您可以这样做: # make sure that we have indexable columns df.to_hdf('test.h5',format='table',data_columns=True) # select where the index (an integer index) matches r and A > 0 In [14]: r Out[14]: array([33,33,95,69,21,43,58,58]) In [13]: pd.read_hdf('test.h5',where='index=r & A>0') Out[13]: A B 21 1.456244 0.173443 43 0.174464 -0.444029 [2 rows x 2 columns] (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 试图了解python csv .next()
- python – 是subprocess.Popen不线程安全吗?
- python – Sublime Text 3 API:从文件获取所有文本
- python – 使用PyGtk时,GUI未从其他线程更新
- 如何规范化python中的字符串列表?
- python – Selenium’WebElement’对象没有属性’Get_Attri
- Django 1.10中有哪些django.core.context_processors.reque
- python – 大型Pandas Dataframe并行处理
- 如何在两个元组列表中的值
- python – 替换numpy数组中的元素,避免循环