【发布时间】:2021-09-06 14:52:00
【问题描述】:
我有一个示例 2D np 数组,如下所示:
x = np.random.normal(loc = -1, scale = 0.2, size = (100, 2))
x.shape
# (100, 2)
# Visualizing the distribution:
plt.scatter(x[:, 0], x[:, 1])
plt.show()
我想过滤值: 选择沿 x 轴小于或等于 -1.3 的所有值以及沿 y 轴小于或等于 -0.9 的所有值。基本上就是把图左下角方框内的4个点拍下来。
这是我的代码:
x[x[:, 0] <= -1.3, x[:, 1] <= -0.9]
但这给出了错误:
IndexError:布尔索引与维度上的索引数组不匹配 1个;维度为 2,但对应的布尔维度为 100
【问题讨论】:
-
错误信息表明:您正试图在布尔表达式的索引处访问数组
x。
标签: python python-3.x numpy numpy-slicing