numpy中的nonzero()的用法
来源:互联网 发布:三茅招聘软件 编辑:程序博客网 时间:2024/06/05 14:38
nonzero(a)返回数组a中值不为零的元素的下标,它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数数组,其值为非零元素的下标在对应轴上的值。例如对于一维布尔数组b1,nonzero(b1)所得到的是一个长度为1的元组,它表示b1[0]和b1[2]的值不为0(False)。
>>> b1=np.array([True, False, True, False])>>> np.nonzero(b1)(array([0, 2], dtype=int64),)对于二维数组b2,nonzero(b2)所得到的是一个长度为2的元组。它的第0个元素是数组a中值不为0的元素的第0轴的下标,第1个元素则是第1轴的下标,因此从下面的结果可知b2[0,0]、b[0,2]和b2[1,0]的值不为0:
>>> b2 = np.array([[True, False, True], [True, False, False]])>>> np.nonzero(b2)(array([0, 0, 1], dtype=int64), array([0, 2, 0], dtype=int64))当布尔数组直接做为numpy数组下标时,相当于使用由nonzero()转换之后的元组作为下标对象:
>>> a = np.arange(3*4*5).reshape(3,4,5)>>> aarray([[[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]], [[20, 21, 22, 23, 24], [25, 26, 27, 28, 29], [30, 31, 32, 33, 34], [35, 36, 37, 38, 39]], [[40, 41, 42, 43, 44], [45, 46, 47, 48, 49], [50, 51, 52, 53, 54], [55, 56, 57, 58, 59]]])>>> a[b2]array([[ 0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24]])>>> a[np.nonzero(b2)]array([[ 0, 1, 2, 3, 4], [10, 11, 12, 13, 14], [20, 21, 22, 23, 24]])
为了观察变化,下面有一个例子:
dataSet=array([[1,0,0,0],[0,1,0,0],[0,1,0,0],[0,0,0,1]])a=dataSet[:,1]>0.5print(a)print('--------------')print(nonzero(a))print('--------------')print(nonzero(a)[0])print('--------------')print(dataSet[nonzero(a)[0],:])输出结果:
[False True True False]--------------(array([1, 2], dtype=int64),)--------------[1 2]--------------[[0 1 0 0] [0 1 0 0]]
1 0
- numpy中的nonzero()的用法
- numpy中的nonzero()的用法
- numpy nonzero的用法
- numpy中nonzero()的用法
- python numpy中nonzero()的用法
- python numpy中nonzero()的用法
- python numpy中nonzero()的用法
- python numpy中nonzero()的用法
- python numpy中nonzero()的用法
- python numpy中nonzero()的用法
- python numpy中nonzero()的用法
- python-numpy中nonzero()的用法
- numpy中的nonzero()
- python中numpy.nonzero()用法
- numpy.nonzero
- numpy nonzero
- Python的Numpy库中的 nonzero函数,及应用在 hardlim硬限幅函数中
- python nonzero()函数的用法
- 滚动控件ScrollView
- Gallery&自定义适配器
- 本博客全部文章导航
- Masonry使用
- sdau-2 1010
- numpy中的nonzero()的用法
- Android控件SeekBar
- MySql 数据库操作
- numpy 中array参数'f'与order='f'区别
- Toast
- 北京林业大学“计蒜客”杯程序设计竞赛 网络赛 A题 换瓶盖
- C++ primer第二节笔记
- Dialog 对话框
- 60. Permutation Sequence