python - Python; 当int太大时如何将字符串转换为int?
问题描述
我有一个熊猫系列,其中每一列都是“对象”,我想将其中一些转换为整数。它不适用于数字太大的列,我收到错误“int太大而无法转换”。
我已经通过网络和论坛进行了搜索,但我不明白各种答案,我对 Python 还很陌生。我知道我的“数字”太长了……我不明白为什么 Python 有这个问题……例如将数据框导出到 excel 文件中就可以了,然后我可以在没有任何数据的情况下制作数据透视表问题(excel将数字识别为整数)但我真的希望能够在Python中做到这一点......
这里的代码
ex_numb = 2461401487610497195867
np.uint64(ex_numb)
---------------------------------------------------------------------------
OverflowError Traceback (most recent call last)
<ipython-input-109-e8c58111a107> in <module>
1 ex_numb = 2461401487610497195867
----> 2 np.uint64(ex_numb)
OverflowError: int too big to convert
导入系统 sys.maxsize
9223372036854775807
解决方案
似乎问题正在使用np.uint
,因为它最多只能处理 64 位,您可以np.int
改用:
import numpy as np
ex_numb = 2461401487610497195867
ex_np = np.int(ex_numb)
ex_np.bit_length()
哪个输出:
72
要在 pandas 中使用它,您可以将其作为 numpy 数组传递:
pd.DataFrame(np.array([[ex_numb]]))
推荐阅读
- c# - LinQ to XML,选择具有 2 级搜索条件的节点
- javascript - addeventlistener 直接在promise 下使用时不起作用,但在promise 下使用settimeout 可以正常工作
- python - Bing 壁纸捕手与 python
- pdf - fig 文件包含在函数 include_graphics() 中,当 rmd 转为 pdf/tex 时可能会丢失文件扩展名
- linux - 如何在我的配置命令中定义 _POSIX_VERSION?
- python - 我的 twitter 机器人、Github 和 Heroku 有问题:我无法在 heroku 中构建它
- c++ - C++ 和字符串文字的歧义处理
- c# - 使用 postSharp 如何在类级别捕获所有方法进入和退出事件?
- javascript - 在单击反应中的下拉列表时保持文本区域的焦点
- html - HTML 表单和输入数据