目录
一.Numpy.array的基本操作
1.numpy.array
的基本属性
2.numpy.array
的数据访问
x = np.arange(10)
X = np.arange(15).reshape((3, 5))
x
x[0]
x[-1]
X[0, 0]#0,0点的值
X[0, -1]#0行倒数第一列
x[0:5]#0~4不包含5
x[5:]#5到结尾
x[::2]#切片,从头到尾,步长2
x[::-1]#倒数
X[:2, :3]#前两行前三列,多维必须,
X[:2, ::2]#前两行,每一行步数2
X[::-1, ::-1]#反转
X[0,:]#取第一行
X[:, 0]#取第一列
3.reshape
二.合并与分割
1.合并操作
concatenate只处理维度一样的
一维拼接
x = np.array([1, 2, 3])
y = np.array([3, 2, 1])
z = np.array([666, 666, 666])
np.concatenate([x, y, z])
二维拼接
A = np.array([[1, 2, 3],
[4, 5, 6]])
np.concatenate([A, A])
vstack即使维度不同,垂直方向可拼接
np.hstack水平方向堆叠
2.分割操作
一维
x1, x2, x3 = np.split(x, [3, 7])#以3,7作为分割点,分了3部分
x1, x2 = np.split(x, [5])#以5作为分割点,分了两部分
二维
A1, A2 = np.split(A, [2], axis=1)#按列分割
vsplit,垂直方向;分为上下
hsplit,水平方向;分为左右部分(以2作为分割点)
分割特征矩阵和标签
X, y = np.hsplit(data, [-1])
把标签变成行的形式
y[:,0]
三.Numpy.array运算
乘法:A = 2 * L
1.Universal Functions
X + 1#所有元素加
X - 1#所有元素减
X / 1#所有元素除
X // 1#除整数
X ** 1#乘方
X % 1#取余
1/X#倒数
np.abs(X)
np.sin(X)
np.cos(X)
np.tan(X)
np.arctan(X)
np.exp(X)
np.power(3, X)#3的X次方
np.log(X)#e为底
np.log2(X)
np.log10(X)
2.矩阵和矩阵运算
3.向量和矩阵运算
加法
乘法、.dot()矩阵乘法
矩阵的逆、矩阵的伪逆
pinvX = np.linalg.pinv(X)
四.聚合操作
一维向量
np.sum(L)#求和
np.min(big_array)
big_array.max()
二维:axis=0,沿着行(每一列0,4,8,12)
其他聚合
np.prod(X)#所有元素乘积
np.mean(X)#均值
np.median(X)#中位数
np.var(big_array)#方差
np.std(big_array)#标准差
百分位点
五.Numpy
中arg运算
1索引
np.argmin(x)#返回最小值的索引
np.argmax(x)#最大值的索引
2.排序和索引的应用
一维
np.random.shuffle(x)可以对x进行洗牌操作,打乱x内元素的顺序;
np.sort(x)对x进行排序操作, 这个函数会返回一个排好序的数组,而没有改变原始x数组的顺序; 而x.sort()会对原始x进行修改:
二维,(axis=0,沿着行,即每一列)
np.sort(x)默认axis = 1,(即沿着列排序,即把每一行都排好序)
3.使用索引
np.argsort(x)对x的索引进行排序
一维
二维