多维数组对象ndarray,常用属性如下所示
import numpy as nparr = np.array([[1,2,3],[4,5,6]])
print(arr.shape) #ndarray各维度的长度
print(arr.ndim) #ndarray的维度
print(arr.size) #ndarray中元素的个数,相当于各维度长度的乘积
print(arr.dtype) #ndarray中存储元素的数据类型
print(arr.itemsize) #ndarray中每个元素的字节数
运行结果
ndarray 的创建
一种方式是使用 array 函数,接收一切序列类型对象,生成一个新的ndarray对象。通过这个函数可以将别的序列对象转换为 ndarray ,并且可以显示指定 dtype。
其次 Numpy 提供了一些便利的初始化函数。例如通过 ones 函数可以创建指定 shape 的全 1 数组;通过 zeros 函数可以创建全 0 数组;通过 arrange 函数可以创建等间隔数组等。
例如:
#asarray函数传入参数为ndarray对象时
arr_1 = np.array([1,2,3])
arr_2 = np.asarray(arr_1)
arr_2[0] = 5print(arr_1[0])
输出为5
ndarray 的数据类型
查询某个 ndarray 的 dtype 属性,可以返回一个 dtype 类型的对象。 dtype 中数值型对象的命名规则为:类型名+元素所占位数,如 int64 。
ndarray 的索引、切片和迭代
一维 ndarray 的索引、切片和迭代类似于 Python 中对 list 的操作。多维 ndarray 则可以在每个维度有一个索引,每个索引可以是数值、数值的 list 、切片或者布尔类型的 list 。通过索引获得 ndarray 的一个切片,与 list 不同的是,获得的切片是原始 ndarray 的视图,所以对切片的修改及时对原始 ndarray 的修改。
ndarray 上的 shape 操作
ndarray 对象的 shape 可以通过多种命令来改变,某些函数是对 ndarray 本身进行改变,如 resize 函数; 有些则是返回一个新的 ndarray 对象,而不改变原来的ndarray,如 reshape 函数、 reval 函数和 T 属性。
ndarray 的基础操作
对于一些用于标量的算术运算,Numpy 可以通过广播的方式将其作用到 ndarray 的每个元素上,返回一个或多个新的矢量。例如,对一个 ndarray 对象进行加一个标量的运算,会对 ndarray 对象的每一个元素进行与标量相加的操作,得到一个新的 ndarray 并返回。
arr_a = np.arange(0,12,2).reshape(3,2)
print(arr_a)
print()
print(arr_a + 1)
另外,这本书小错误挺多的,有的地方也不是很通顺。