gpt4 book ai didi

python-3.x - numpy.bincount 是否支持 numpy.float128 类型权重?

转载 作者:行者123 更新时间:2023-12-01 04:51:25 35 4
gpt4 key购买 nike

这是使用 numpy.bincount 的示例代码

import numpy as np
a = np.array([1.0, 2.0, 3.0], dtype=np.float128)
b = np.array([1, 2, 0], dtype=np.int)
c = np.bincount(b, weights=a)

如果运行它,我会收到以下错误报告:
----> 1 c = np.bincount(b, weights=a)
TypeError: Cannot cast array data from dtype('float128') to dtype('float64') according to the rule 'safe'

是不是 np.bincount的bug ?是否有任何类似的功能可以用来处理 numpy.float128类型权重?

最佳答案

我不一定会把它称为错误,但它不受支持。 bincount()功能实现here .如您所见,权重参数直接转换为 double 数组:

if (!(wts = PyArray_ContiguousFromAny(weight, PyArray_DOUBLE, 1, 1))) {
goto fail;
}

因此,不可能通过 np.float128反对 bincount .

当然,您始终可以将其转换为 np.float64如果不需要额外的精度,则按照评论中的建议使用对象。

关于python-3.x - numpy.bincount 是否支持 numpy.float128 类型权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40814122/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com