不常用的函数总是遗忘,很是困扰啊。于是痛下时间,做一个系统的总结,纯原创,都是些实际项目中常用的函数和方法,当然还有一些这边也是没有记录的,因为我在实际数据处理过程中也没有遇到过(如字符串处理等等)。
创建基本ndarray类实例:
import numpy as np np.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
序号 | 参数及描述 |
---|---|
1. | object 任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。 |
2. | dtype 数组的所需数据类型,可选。 |
3. | copy 可选,默认为true ,对象是否被复制。 |
4. | order C (按行)、F (按列)或A (任意,默认)。 |
5. | subok 默认情况下,返回的数组被强制为基类数组。 如果为true ,则返回子类。 |
6. | ndimin 指定返回数组的最小维数。 |
数据类型:
分为三大类:整型,浮点型,python对象。
import numpy as np np.array("str",dtype=np.unicode) # 举个栗子,字典,集合等等均可 np.array([1,2,3],dtype=np.int32) np.array([1,2,3],dtype=np.float32)
数组属性:
ndarray.shape
ndarray.reshape(shape) # 等同于np.reshape(a,newshape),且要注意shape中的-1表示根据剩下的维度计算得出。
ndarray.ndim # 返回数组维度
创建例程:
np.zeros(shape,dtype=float)
np.ones(shape,dtype=None)
np.arange(start,stop,step,dtype) # 注意点stop值取不到
numpy.linspace(start, stop, num, endpoint=True, retstep, dtype) # endpoint为True 则包含stop值
numpy.logspace(start, stop, num, endpoint, base, dtype)
切片和索引:
解释起来比较复杂,最常用的操作之一,划重点,涵盖的信息量很大。
a = np.zeros((2,3)) # 简单索引 a[:,:] a[1:,:2] # 整数索引 a[[0,1],:] a[:,[0,1,2]] # 布尔索引 # 自己的理解,矩阵相乘,非点积 a = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]]) print(a>5) print(a[a>5]) >>>[[False False False] [False False False] [ True True True] [ True True True]] >>>[ 6 7 8 9 10 11]
数组操作:
np.reshape(a,newshape)
np.linalg.inv() # 矩阵的逆
ndarray.T
np.expand_dims(a, axis) # 增加维度,其实我觉得reshape完全够用
### 数组连接
np.concatenate((a1, a2, ...), axis=0, out=None) # 沿着现存的轴连接数据序列
np.stack(arrays, axis=0, out=None) # 沿着新轴连接数组序列
np.hstack(tup) # 水平堆叠序列中的数组
np.vstack(tup) # 竖直堆叠序列中的数组
### 添加/删除数组
np.append(arr, values, axis=None)
np.insert(arr, obj, values, axis=None)
np.delete(arr, obj, axis=None) # 删除指定索引元素
算术运算:
np.power() # np.power(a,2)
np.sqrt()
np.abs()
np.add()
np.subtract()
np.divide()
np.multiply()
# 矩阵运算
np.dot() # 线代的点积。如果输入都为1D,计算内积。如果输入多维,那么必须满足矩阵乘积维数要求
np.matmul() # 好像和np.dot()一样
统计运算:
np.mean()
np.sum()
np.std() # 标准差
np.var() # 方差
np.round(a, decimals=0, out=None) # 保留几位小数
np.max() np.min() np.sort()
np.argmax() np.argmin() np.argsort()