龙空技术网

Numpy入门之 数组大小和元素类型

Python可视化编程 79

前言:

眼前姐妹们对“python二维数组的大小”大体比较重视,各位老铁们都想要剖析一些“python二维数组的大小”的相关资讯。那么小编也在网摘上收集了一些对于“python二维数组的大小””的相关资讯,希望朋友们能喜欢,兄弟们快快来了解一下吧!

数组的大小(shape)

1. 数组的大小,可以通过其shape属性获得:

>>> a = np.array([1,2,3,4])>>> a.shape(4,)>>> b = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [7, 8, 9, 10]])>>> b.shape(3, 4)

2. 改变数组的shape:

>>> b.shape = (4,3)>>> barray([[ 1, 2, 3],[ 4, 4, 5],[ 6, 7, 7],[ 8, 9, 10]])>>> b.shape = (2,6)>>> barray([[ 1, 2, 3, 4, 4, 5],[ 6, 7, 7, 8, 9, 10]])

注意:改变shape属性只是调整每个维度的大小,数组的元素在内存中的位置并没有改变(因此元素的总数保持不变),只是改变了索引的方式。

3. 使用数组的reshape方法,可以创建一个改变了尺寸的“新”数组,原数组的shape保持不变:

>>> d = a.reshape((2,2))>>> darray([[1, 2],[3, 4]])>>> aarray([1, 2, 3, 4])

注意:a和d其实共享内存空间,因此,对其中任意一个数组的元素的修改,都会同时修改另一数组的对应元素:

>>> a[3]=0>>> darray([[1, 2],[3, 0]])>>> d[0,1]=99>>> aarray([ 1, 99, 3, 0])

数组元素类型

通过数组的dtype属性获得元素的数据类型:

>>> a.dtypedtype('int32')>>> np.array("abcd").dtypedtype('<U4')>>> np.arange(0,10,0.01).dtypedtype('float64')

2. 可通过dtype参数在数组创建时指定元素类型:

>>> np.array([1,2,3,4], dtype=np.float) #浮点数array([1., 2., 3., 4.])>>> np.array([1,2,3,4], dtype=np.complex) #复数array([1.+0.j, 2.+0.j, 3.+0.j, 4.+0.j])

3. 通过数组的astype可以生成一个转换了数据类型的数组,默认与原数组不共享内存空间。

>>> x = np.array([1,2,3])>>> x.dtypedtype('int32')>>> y = x.astype(np.float64)>>> y.dtypedtype('float64')>>> y[0]=99>>> yarray([99., 2., 3.])>>> xarray([1, 2, 3])

标签: #python二维数组的大小