“OverflowError: Python int too large to convert to C long&qu

quot;OverflowError: Python int too large to convert to C longquot; on windows but not mac(“OverflowError: Python int too large to convert to C long在 windows 上但不是 mac)
本文介绍了“OverflowError: Python int too large to convert to C long"在 windows 上但不是 mac的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我在 windows 和 mac 上运行完全相同的代码,使用 python 3.5 64 位.

I am running the exact same code on both windows and mac, with python 3.5 64 bit.

在 Windows 上,它看起来像这样:

On windows, it looks like this:

>>> import numpy as np
>>> preds = np.zeros((1, 3), dtype=int)
>>> p = [6802256107, 5017549029, 3745804973]
>>> preds[0] = p
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    preds[0] = p
OverflowError: Python int too large to convert to C long

但是,这段代码在我的 mac 上运行良好.任何人都可以帮助解释原因或为 Windows 上的代码提供解决方案吗?非常感谢!

However, this code works fine on my mac. Could anyone help explain why or give a solution for the code on windows? Thanks so much!

推荐答案

一旦你的数字大于 sys.maxsize,你就会得到这个错误:

You'll get that error once your numbers are greater than sys.maxsize:

>>> p = [sys.maxsize]
>>> preds[0] = p
>>> p = [sys.maxsize+1]
>>> preds[0] = p
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: Python int too large to convert to C long

您可以通过检查来确认:

You can confirm this by checking:

>>> import sys
>>> sys.maxsize
2147483647

要获取更高精度的数字,请不要传递在后台使用有界 C 整数的 int 类型.使用默认浮点数:

To take numbers with larger precision, don't pass an int type which uses a bounded C integer behind the scenes. Use the default float:

>>> preds = np.zeros((1, 3))

这篇关于“OverflowError: Python int too large to convert to C long"在 windows 上但不是 mac的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)
Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)