import numpy as np
01.创建数组对象
np.array(obj, dtype, ndmin维度)
np.eye(5, dtype=int, k=0 # 对角为1,5x5数组,k默认0
np.zeros((3, 3)) # 3x3全是0的数组
02.数组的索引和切片
np.arange(start, end, step)
np.linspace(start, end, num, endpoint=True, dtype) # 数据等分
03.改变数组维度
变维
ndarray.reshape((a, b)) # 原值不变
ndarray.resize((a, b)) # 操作原数据 原值改变
展平
ndarray.ravel() # 返回新值 原值不变 受原数据影响
ndarray.flatten() # 返回新值 原值不变 不受原数据影响
转置
ndarray.T
04.数组的组合与分割
水平组合
np.hstack(arr1, arr2)
np.concatenate((arr1,arr2), axis=1)
np.column_stack((arr1, arr2))
垂直组合
np.vstack(arr1, arr2)
np.concatenate((arr1, arr2), axis=0)
np.row_stack((arr1, arr2))
水平分割n等份
np.hsplit(arr, n)
np.split(arr, n, axis=1)
垂直分割n等份
np.vsplit(arr, n)
np.split(arr, n, axis=0)
不等分
np.hsplit(arr, list[1, 2, 4])
05.聚合函数
np.average()
np.max()
np.min()
np.mean() # 均值
np.var() # 方差
np.std() # 标准差
np.sqrt() # 开方
np.sum()
06矩阵的创建于运算
np.mat(obj) # 矩阵
np.random.choice(a, size=None, replace=True, p=None)
07.算术运算
np.add()
np.subtract()
np.multiply()
np.divide() # +-*/
08.排序
arr.sort(axis) # 改变原值 0跨行1跨列
-np.sort(-arr, axis) # 从大到小 降序
09.搜索
np.nan # nan既是最大也是最小
np.isnan(np.nan) # True
np.inf # 正无穷
np.argmax() # 返回最大值下标,不忽略nan
np.nanargmax() # 返回最大值下标,忽略nan
np.where(condition) # 返回True下标
np.argwhere() # 返回符合条件下标
np.searchsorted(c, d) # c排好序,d待插入,返回插入下标
10.插入
np.insert(arr, indexs, values)
np.insert(c, np.searchsorted(c, d), d)
11.数据筛选
arr[condition]
ndarray.compress(condition)
np.extract(condition, arr)
np.nozero(arr) # 提取非0下标
12.通用函数
abs fabs sqrt ceil floor isnan isinf
add subtract multiply divide floor_divide power mod less less_equal