pandas Windows 上的列溢出总和
pandas sum of column overflow on Windows
我正在开发必须在 Windows 服务器 (2012 R2) 中执行的应用程序。当我在本地 运行 它时(Win 7),它看起来不错,但是当我在服务器中 运行 它时,我得到了负面结果,而它应该是正面的:
DataFrame.column.sum()
我读到那是因为 python 2.7 和某些 windows 版本之间存在错误。 bug
问题,我的代码中有很多部分使用 pandas.col.sum()
并且其中一些列是 dtype = int64
,有没有办法解决这个问题?也许在我阅读 df 时更改 dtype
?
任何建议将不胜感激。谢谢!
我找到了基于此 answer
的解决方法
In [1]: import pandas as pd
In [2]: s = pd.Series([2**31])
In [3]: s.sum()
Out[3]: -2147483648
In [4]: from pandas.core import nanops
In [5]: nanops._USE_BOTTLENECK
Out[5]: True
In [6]: nanops._USE_BOTTLENECK = False
In [7]: s.sum()
Out[7]: 2147483648
我正在开发必须在 Windows 服务器 (2012 R2) 中执行的应用程序。当我在本地 运行 它时(Win 7),它看起来不错,但是当我在服务器中 运行 它时,我得到了负面结果,而它应该是正面的:
DataFrame.column.sum()
我读到那是因为 python 2.7 和某些 windows 版本之间存在错误。 bug
问题,我的代码中有很多部分使用 pandas.col.sum()
并且其中一些列是 dtype = int64
,有没有办法解决这个问题?也许在我阅读 df 时更改 dtype
?
任何建议将不胜感激。谢谢!
我找到了基于此 answer
的解决方法In [1]: import pandas as pd
In [2]: s = pd.Series([2**31])
In [3]: s.sum()
Out[3]: -2147483648
In [4]: from pandas.core import nanops
In [5]: nanops._USE_BOTTLENECK
Out[5]: True
In [6]: nanops._USE_BOTTLENECK = False
In [7]: s.sum()
Out[7]: 2147483648