广播机制
numpy索引的使用和切片
1)取第三行
t2[2]
2)取连续的多行
t2[2:]
3)去不连续的多行
t2[ [2,8,10] ]
4)取列
t2[1,:] :表示每一列都要 ,前代表去那几列
t2[2:,:]表示取从2开始的每一个行的所有列
t2[[2,10,3],:] 表示取特定行的每一列
t2[:,0] 表示取所有行的第0列
5) 取连续的列
t2[:,2:]取从2开始到结束的连续多列
t2[:,[0,2]] 取不连续多列
6)取多行多列
t2[2:5,2:4]取第2行到第五行 第2列到第4列
取多个不相邻的点
t2[[0,2,2],[0,1,2]]
7)numpy的三元符
np.where(t<10,0,10) 当矩阵t中的小于10的元素赋值为0,大于10的元素赋值为10,
8)numpy的clip裁剪
t.clip(10,18) 把小于 10的元素替换成10,大于18的元素替换成18
数组的拼接
竖直拼接
np.vstack(t1,t2)
水平拼接
np.hstack(t1,t2)
数组的行列交换
行交换
t[[1,2],:]=t[[2,1],:]
列交换
t[:,[0,2]]=t[:,[2,0]]
numpy中的方法
import numpy as np
np.arrange()
np.reshape(())参数是一个元组
np.argmax(t,axis=0)
np.argmin(t,axis=1)
np.zeros((2,4))创建一个全为0的数组
np.ones((3,4))创建一个全为1的数组
np.eye(3) 创建一个对角线为1的正方形数组
numpy的注意点
1.a=b完全不复制,a和b会相互影响
2.a=b[:],视图的操作,一种切片,会创建新的对象a,但是a的数据完全由b保管,他们两个的数据变化是一致的
3.a=b.copy(),复制 a,b互相不影响