如何将numpy的intc值从32位更改为64位
发布时间:2020-12-20 13:46:59 所属栏目:Python 来源:网络整理
导读:我遇到了numpy的intc数据类型的问题.我正在我的机器上运行 Linux 64位.我需要实例化一个索引超过32位限制的scipy.sparse.csr_matrix.例如: 我已经像这样实例化了一个csr矩阵: matrix=csr_matrix((2,4132009369),dtype=int8) 这没有问题.然后,在我做的代码
我遇到了numpy的intc数据类型的问题.我正在我的机器上运行
Linux 64位.我需要实例化一个索引超过32位限制的scipy.sparse.csr_matrix.例如:
我已经像这样实例化了一个csr矩阵: matrix=csr_matrix((2,4132009369),dtype=int8) 这没有问题.然后,在我做的代码的某处,让我们说: matrix[0,2401803431]=1 我得到了ValueError:列索引值必须是> = 0.我调试代码,我发现在scipy的csr_matrix实现中的某个地方,列值被转换为numpy的intc数据类型. >>> import numpy as np >>> info=np.iinfo(np.intc) >>> info.max 2147483647 那个值是2 ^ 31-1. intc Identical to C int (normally int32 or int64) 非常感谢您的宝贵时间! 解决方法
我解决了将scipy库升级到最新版本(之前我有1.3,现在是1.4)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |