numpy.ndarray.item

619 阅读1分钟

ndarray.item(*args)

概述

把一个numpy的数组的一个元素复制成标准的Python的标量,然后返回这个值。

这个是没有使用item方法的结果:

a=numpy.zeros((255,255,3),numpy.uint8)

type(a[1,1,1])

Out[25]: numpy.uint8

直接使用内置的type方法查看,直接索引ndarray里面的值显示它是一个uint8(在numpy数组里面设定)类型的值。

type(a.item((1,1,1)))

Out[26]: int

这个是使用item方法的返回值,这个时候的uint8就被转化为内置的int类型。

参数

参数只有一个,用于索引要转化的元素,分成三种情况。

·为none,也就是不传入参数,这个只适用于只有一个元素的ndarray数组,因为根本不用索引。

·为一个int类型的数。这个会被直接按照顺序进行索引。

·为一个int类型元组,按照元组进行索引


这里我有一个疑问,就是文档里面提到如果ndarray数组的类型是longdouble或者是clongdouble的时候,item会返回一个数组,如果返回值的范围确定的话,会返回元组。但是我试了一下:

type(a[1])

Out[38]: numpy.longdouble

b=a.item(1)

type(b)

Out[40]: numpy.longdouble