python - 如何将 numpy 的 intc 值从 32 位更改为 64 位

标签 python numpy 32bit-64bit sparse-matrix type-conversion

我遇到了 numpy 的 intc 数据类型的问题。我在我的机器上运行 Linux 64 位。我需要用超过 32 位限制的索引实例化 scipy.sparse.csr_matrix。例如:

我已经像这样实例化了一个 csr 矩阵:

matrix=csr_matrix((2, 4132009369),dtype=int8)

这对我来说没问题。然后,在我编写的代码中的某处,让我们说:

matrix[0, 2401803431]=1

我得到了 ValueError: column index values must be >= 0。我调试了代码,发现在 scipy 的 csr_matrix 实现中的某处,列值被转换为 numpy 的 intc 数据类型。 为了确保这是一个 intc 问题,我检查了以下代码:

>>> import numpy as np
>>> info=np.iinfo(np.intc)
>>> info.max
2147483647

该值为 2^31-1。 那么,如果有从 32 位 intc 到 64 位 intc 的方法,您有什么建议吗?本页http://docs.scipy.org/doc/numpy/user/basics.types.html上面写着

intc    Identical to C int (normally int32 or int64)

非常感谢您的宝贵时间!

最佳答案

我通过将 scipy 库升级到最新版本来解决(以前我有 1.3,现在 1.4)

关于python - 如何将 numpy 的 intc 值从 32 位更改为 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27818477/

相关文章:

python - 分组 python 中的列表

python - 检查某个属性是否等于任何对象列表中的特定字符串

python - 如何在忽略 NaN 的多个列中查找绝对值最小的值?

linux - 在 64 位 Linux 上运行 32 位应用程序的性能如何?

python获取每个成员只出现一次的组合组

Python 电子邮件 - 使用冒号导致无输出

python - 如果 Python 中的条件未提供正确的结果

python - 比较2种颜色直方图,其中一种是从txt文件加载的

vba - VBA 中指针大小的真正决定因素是什么?

c - 32 位处理器上的程序集标签地址不正确