python numpy通过布尔索引错误分配“TypeError:数组无法安全地转换为所需类型”

时间:2014-02-02 18:04:24

标签: python arrays numpy indexing

在下面代码的最后一行中,我得到一个“TypeError:数组无法安全地转换为所需类型”。你能帮忙吗?

让我解释一下代码。 randin()函数可帮助我获取包含lbub指定范围内元素的数组。换句话说,您为randin()函数提供了两个一维numpy数组lbub,并返回数组r,其中此不等式适用于所有元素{{1} }:i

在一维数组lb[i] <= r[i] < ub[i]中,某些元素可能超出poslb指定的范围。我只希望随机复制这些元素。如果可能的话,我想使用我现有的函数ub。当然我想使用花哨的布尔索引,而不是循环。

THX。

randin()

1 个答案:

答案 0 :(得分:0)

当我初始化pos之类的pos = np.array([1, -3, 5, -7, 9, -11], dtype = float)时,代码运行没有问题。所以numpy害怕将浮点数赋给整数元素。这不是一个坏主意。