栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将大型CSV转换为HDF5

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将大型CSV转换为HDF5

用于

append=True
呼叫
to_hdf

import numpy as npimport pandas as pdfilename = '/tmp/test.h5'df = pd.Dataframe(np.arange(10).reshape((5,2)), columns=['A', 'B'])print(df)#    A  B# 0  0  1# 1  2  3# 2  4  5# 3  6  7# 4  8  9# Save to HDF5df.to_hdf(filename, 'data', mode='w', format='table')del df    # allow df to be garbage collected# Append more datadf2 = pd.Dataframe(np.arange(10).reshape((5,2))*10, columns=['A', 'B'])df2.to_hdf(filename, 'data', append=True)print(pd.read_hdf(filename, 'data'))

产量

    A   B0   0   11   2   32   4   53   6   74   8   90   0  101  20  302  40  503  60  704  80  90

请注意,您需要

format='table'
在第一个调用中使用
df.to_hdf
以使表可追加。否则,
'fixed'
默认情况下为格式,这对于读写来说是更快的,但是会创建一个不能追加的表。

因此,您可以一次处理一个CSV,用于

append=True
构建hdf5文件。然后覆盖Dataframe或用于
deldf
允许对旧Dataframe进行垃圾回收。


另外,

df.to_hdf
您也可以将其附加到HDFStore上,而不用调用:

import numpy as npimport pandas as pdfilename = '/tmp/test.h5'store = pd.HDFStore(filename)for i in range(2):    df = pd.Dataframe(np.arange(10).reshape((5,2)) * 10**i, columns=['A', 'B'])    store.append('data', df)store.close()store = pd.HDFStore(filename)data = store['data']print(data)store.close()

产量

    A   B0   0   11   2   32   4   53   6   74   8   90   0  101  20  302  40  503  60  704  80  90


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/506556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号