【发布时间】:2016-09-21 18:30:56
【问题描述】:
我有一个由 COO 矩阵构成的 scipy CSR 矩阵,如下所示:
coord_mat = coo_matrix((data, (row, col)), dtype=np.float64)
它被用作具有底层 C 实现的库的输入,我相信我的矩阵的 dtype 是double(np.float64)。但是,我遇到了以下错误:
ValueError: Buffer dtype mismatch, expected 'flt' but got 'double'
我去研究了一下,发现scipy C-api,它告诉我NPY_FLOAT数据类型在C中转换为32位浮点数,而我当前的数据类型对应的是64位双倍的。我在正确的轨道上吗?如果是这样,我如何转换数组的类型?我不完全确定如何调用 NPY_FLOAT 对象来转换它。
对此事的任何帮助将不胜感激!
【问题讨论】:
标签: python numpy scipy python-c-api