这里是Python新手。在
我试图用lz4压缩将一个大数据帧保存到HDF文件中。在
我用的是windows10,python3,Pandas 20.2
我得到错误“overflowerr:Python int too large to convert to C long”。在
没有任何计算机资源接近其限制(RAM、CPU、交换使用率)
以前的文章讨论了dtype,但是下面的例子显示还有一些其他问题,可能与大小有关?在
import numpy as np
import pandas as pd
# sample dataframe to be saved, pardon my French
n=500*1000*1000
df= pd.DataFrame({'col1':[999999999999999999]*n,
'col2':['aaaaaaaaaaaaaaaaa']*n,
'col3':[999999999999999999]*n,
'col4':['aaaaaaaaaaaaaaaaa']*n,
'col5':[999999999999999999]*n,
'col6':['aaaaaaaaaaaaaaaaa']*n})
# works fine
lim=200*1000*1000
df[:lim].to_hdf('df.h5','table', complib= 'blosc:lz4', mode='w')
# works fine
lim=300*1000*1000
df[:lim].to_hdf('df.h5','table', complib= 'blosc:lz4', mode='w')
# Error
lim=400*1000*1000
df[:lim].to_hdf('df.h5','table', complib= 'blosc:lz4', mode='w')
....
OverflowError: Python int too large to convert to C long
目前没有回答
相关问题 更多 >
编程相关推荐