python - Numpy.array 索引
问题描述
import numpy as np
arr = np.array([[0, 1, 0],
[1, 0, 0],
[1, 0, 0]])
mask = arr
print('boolean mask is:')
print(mask)
print('arr[mask] is:')
print(arr[mask])
结果:
boolean mask is:
[[0 1 0]
[1 0 0]
[1 0 0]]
arr[mask] is:
[[[0 1 0]
[1 0 0]
[0 1 0]]
[[1 0 0]
[0 1 0]
[0 1 0]]
[[1 0 0]
[0 1 0]
[0 1 0]]]
我知道当掩码是 2-D 时索引是如何工作的,但是当掩码是 3-D 时会感到困惑。任何人都可以解释一下吗?
解决方案
import numpy as np
l = [[0,1,2],[3,5,4],[7,8,9]]
arr = np.array(l)
mask = arr[:,:] > 5
print(mask) # shows boolean results
print(mask.sum()) # shows how many items are > 5
print(arr[:,1]) # slicing
print(arr[:,2]) # slicing
print(arr[:, 0:3]) # slicing
输出
[[False False False]
[False False False]
[ True True True]]
3
[1 5 8]
[2 4 9]
[[0 1 2]
[3 5 4]
[7 8 9]]
推荐阅读
- django - Django:提交表单后获取最新的数据库对象值
- ios - 如何在完成处理程序中传递数据
- blockchain - 如何打开 Parity 浏览器界面?
- javascript - 精灵动画闪烁
- drupal - 如何从 Drupal Commerce 中的国家代码获取国家名称
- plot - xaxis 类别未正确绘制多个系列 highcharts 使用 php-mysql 动态填充的值
- node.js - 如果键不在猫鼬模式中,则返回信息
- python - 处理列表和一个元素不是列表类型
- flutter - Flutter 在卡片内创建图像和文本
- angular - 如何向 Angular 过渡添加参数?