【发布时间】:2021-01-20 05:03:20
【问题描述】:
我想在tuple 中使用boolean mask 索引ndarray,如下所示
import numpy as np
n_max = 5
list_no = np.arange ( 0, n_max )
lateral = np.tril_indices ( n_max, -1 )
mask= np.diff ( lateral [0].astype ( int ) )
mask [-1] = 1
Expected=lateral[mask!= 0]
但是,当执行Expected=lateral[mask!= 0]这一行时,
编译器返回错误
TypeError:只有整数标量数组可以转换为标量 索引
Expected=
0 = {ndarray: (4,)} [1 2 3 4]
1 = {ndarray: (4,)} [0 1 2 3]
我可以知道我哪里做错了吗?
【问题讨论】:
-
你能告诉我们发生在哪里吗? (回溯)
-
@hpaulj,我已经编辑了帖子,但是为了回答你的问题,错误出现在最后一行
lateral[mask!-0] -
告诉我们
lateral。你甚至可以展示整个事情!了解信息。好的答案显示结果。 -
这是一个二维坐标。如果满足布尔条件,我想提取某些二维坐标。我希望这能回答你的问题@hpaulj
-
没有。从文档中我看到它是一个元组。我们用一个简单的数字索引一个元组。布尔数组适用于数组,而不是元组。
标签: numpy indexing boolean-operations