NumPy学习(2)
数组操作
修改数组形状
函数 | 描述 |
---|---|
reshape | 不改变数据的条件下修改形状 |
flat | 数组元素迭代器 |
flatten | 返回一份数组拷贝,对拷贝所作的修改不会影响原始数组 |
ravel | 返回展开数组 |
numpy.reshape
numpy.reshape函数可以在不改变数据的条件下修改形状,格式如下numpy.reshape(arr,newsahpe,order='C')
例子如下
import numpy as np
a = np.arange(8)
print('原始数组:')
print(a)
print('\n')
b = a.reshape(4,2)
print('修改后的数组')
print(b)
输出结果如下:
原始数组:
[0 1 2 3 4 5 6 7]
修改后的数组:
[[0 1]
[2 3]
[4 5]
[6 7]
]
numpy.ravel
numpy.ravel()展平的数组元素,顺序通常是“C风格”,返回的是数组试图,修改会影响原始数组,该函数接收两个参数:numpy.ravel(a,order='C')
翻转数组
函数 | 描述 | |
---|---|---|
transpose | 对换数组的维度 | |
ndarray.T | 和self.transpose()相同 | |
rollaxis | 向后滚动指定的轴 | |
swapxes | 对换数组的两个轴 |
numpy.transpose
numpy.transpose函数用于对换数组的维度,格式如下:
numpy.transpose(arr,axes)
- arr:要操作的数组
- axes:整数列表,对应维度,通常所有维度都会对换
分割数组
函数 | 数组及操作 | |
---|---|---|
split | 将一个数组分割为多个子数组 | |
hsplit | 将一个数组水平分割为多个子数组(按列) | |
vsplit | 将一个数组垂直分割为多个子数组(按行) |
numpy.split
numpy.split函数沿特定的轴将数组分割为子数组,格式如下:numpy.split(arr,indices_or_sections,axis)
- arr:被分割的数组
- indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置
- axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分
数组元素的添加与删除
函数 | 元素及描述 | |
---|---|---|
resize | 返回指定形状的新数组 | |
append | 将值添加到数组末尾 | |
insert | 沿指定轴将值插入到指定下标之前 | |
delete | 删掉某个轴的子数组,并返回删除后的新数组 | |
unique | 查找数组内的唯一元素 |
numpy.resize
numpy.resize函数返回指定大小的新数组,如果新数组大小大于原始大小,则包含原始数组中的元素的副本
numpy.resize(arr,shape)
- arr:要修改大小的数组
- shape:返回数组的新形状
numpy.append
numpy.append函数在数组的末尾添加值,追加操作会分配整个数组,并把原来的数组复制到新数组中,此外,输入数组的维度必须匹配否则将生成ValueError
numpy.append(arr,values,axis=None)
- arr:输入数组
- values:要想arr添加得到值,需要和arr形状相同
- axis:默认为None
numpy.insert
numpy.insert函数在给定索引之前,沿给定轴在输入数组中插入值
numpy.insert(arr,obj,values,axis)
- arr:输入数组
- obj:在其之前插入值的索引
- values:要插入的值
- axis:沿着它插入的轴,如果没有提供,则输入数组会被展开
numpy.delete
numpy,delete(arr,obj,axis)
- arr:输入数组
- obj:可以被切片,整数或者整数数组,表明要从输入数组删除的子数组
- axis:沿着它插入的轴,如果没有提供,则输入数组会被展开
numpy.unique
numpy.unique函数用于去除数组中的重复元素
numpy.unique(arr,return_index,return_inverse,return_counts)
- arr:输入数组,如果不是一维数组则会展开
- return_index:如果为true,返回新列表元素在旧列表中的下标,并以列表形式存储
- return_inverse:如果为true,返回旧列表元素在新列表中的下标,并以列表形式存储
- return_counts:如果为true,返回去重数组中的元素在原数组中的出现次数