NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。

例如,在3D空间一个点的坐标[1, 2, 3]是一个秩为1的数组,因为它只有一个轴。那个轴长度为3.又例如,在以下例子中,数组的秩为2(它有两个维度).第一个维度长度为2,第二个维度长度为3.

[[ 1., 0., 0.],
[ 0., 1., 2.]]
NumPy的数组类被称作ndarray。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。

重要ndarray对象属性有:

ndarray.ndim
返回数组轴的个数,在python的世界中,轴的个数被称作秩;
ndarray.shape
返回数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性;
ndarray.size
返回数组元素的总个数,等于shape属性中元组元素的乘积;
ndarray.dtype
返回一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型;
创建数组的方法:

numpy.array建立普通数组
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
object-创建的序列对象[]
dtype-数据类型:none、float、int64等
copy -可选,默认为true,对象是否被复制
order- ‘C’为按行的 C 风格数组,’F’为按列的 Fortran 风格数组,’A’为任意
subok- 默认情况下,返回的数组被强制为基类数组。 如果为true,则返回子类
ndimin-指定返回数组的最小维数

numpy.empty 建立空数组
numpy.empty(shape, dtype = , order = ”)

shape-数组的形状:[几行,几列]

  • numpy.zeros 建立全零数组

numpy.zeros(shape, dtype = float, order = ‘C’)
numpy.ones 建立全一数组
numpy.ones(shape, dtype = float, order = ‘C’)
数组的添加/删除操作:

numpy.resize 返回指定大小的新数组。 如果新大小大于原始大小,则包含原始数组中的元素的重复副本
numpy.resize(arr, shape)
arr:要修改大小的输入数组
shape:返回数组的新形状(几行,几列)

numpy.append 在输入数组的末尾添加值。 附加操作不是原地的,而是分配新的数组。 输入数组的维度必须匹配
numpy.append(arr, values, axis)
arr:输入数组
values:要向arr添加的值,比如和arr形状相同(除了要添加的轴)
axis:定义进行操作的轴方向。如果没有提供,两个参数都会被展开 列方向为1,行方向为0

numpy.insert 在给定索引处,沿给定轴在输入数组中插入值。 如果值的类型转换为要插入,则它与输入数组不同。 插入没有原地的,函数会返回一个新数组。 此外,如果未提供轴,则输入数组会被展开。
numpy.insert(arr, obj, values, axis)
arr:输入数组
obj:在其之前插入值的索引
values:要插入的值
axis:沿着它插入的轴,如果未提供,则输入数组会被展开

numpy.delete
Numpy.delete(arr, obj, axis) 返回从输入数组中删除指定子数组的新数组
arr:输入数组
obj:可以被切片,整数或者整数数组,表明要从输入数组删除的子数组
axis:沿着它删除给定子数组的轴,如果未提供,则输入数组会被展开