pandas to_hdf() 溢出警告

3

我需要将一个大型数据框保存到 hdf5 文件中,因此我使用了以下代码:

self.feature_concated.to_hdf(self.h5_result_name, key='feature_data', mode='a', format='table')

然后会出现一个运行时警告:

F:\Anaconda3\lib\site-packages\tables\leaf.py:357: RuntimeWarning: overflow encountered in long_scalars

expected_mb = (expectedrows * rowsize) // MB

但是如果我不使用灵活格式的hdf,就不会出现这样的问题。

self.feature_concated.to_hdf(self.h5_result_name, key='feature_data', mode='a')

我想知道这个问题的原因是什么,以及如何解决它?


有人能回答我的问题吗? - Kid
这个警告肯定有问题,因为 expected_mb > 2^31。你尝试进入调试模式来跟踪问题了吗?当你说大的数据框时,你能更具体地说明一下(结构、大小)吗? - PilouPili
1个回答

0

嗯,当我保存pandas数据框时,我收到了相同的消息:

RuntimeWarning: overflow encountered in long_scalars expected_mb = (expectedrows * rowsize) // MB

我已经通过设置数字列的数据类型来解决它:

df_book[["year","bnumber","cnumber","vnumber"]] = \
    df_book[["year","bnumber","cnumber","vnumber"]].apply(pd.to_numeric)

在我的情况下,我事先知道这些类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接