cat = plt.imread('cat.jpg')
tpye(cat) #输出结果为numpy.ndarray
plt.imshow(cat) #显示图片
cat.ndim
cat.size
l = [1,2,4,5,6]
n = np.array(l)
n #结果array([1,2,4,5,6])
type(n) #输出结果为numpy.ndarray
n = np.ones(shape=(3,2,4),dtype=np.int16) #3个2行4列全为1的数组
n = np.zeros(shape=(3,4),dtype=np.int16) #3行4列全为0的数组
n = np.full(shape=(3,4),fill_value=5) #3行4列全为5的数组
n = np.eye(6,6,k=0,dtype=int) #6行6列对角线为1其他全为0的二维数组,偏移量为0向右偏移
n = np.linspace(0,100,num=51) #0到100分为等差数列,num默认为50,即分成50个数
n = np.arange(10) #array([0,1,2,3,4,5,6,7,8,9])
n = np.arange(2,10) #array([2,3,4,5,6,7,8,9])
n = np.arange(2,10,2) #步长为2,array([2,4,6,8])
n = np.random.randint(3) #随机生成不超过3的数
n = np.random.randint(3,10) #随机生成3到9的数
n = np.random.randint(3,10,size=6) #随机生成一个大小为6的一维数组,每个值从3到9之间随机
n = np.random.randint(3,10,size=(3,4))
n = np.random.randint(0,256,size=(30,40,3))
n = np.random.random(size=(3,4)) #0到1之间的随机数
#索引
l = [1,2,3,4,5,6]
l[0],l[-1]
n = np.array(l)
n[0],n[-1] #(1,6)
n = np.random.randint(0,10,size=(4,5))
n[2,3]
n[1,2,-1] = 886 #三位数组修改索引
n[1,2] = [1,2,3,4,5,6] #三维中修改一行数据
#切片
l = [1,2,3,4,5,6,7,8,9]
l[2:6] #[3,4,5,6]
l[::-1] #翻转
n = np.array(l)
n[2:6],n[::-1]
n = np.random.randint(0,10,size=(6,8))
print(n[0]) #[1,8,5,5,5,9,7,0]
print(n[1:4]) #取连续多行0到3行
print(n[[1,4,3,2]]) #取不连续多行0,3,2,1行
print(n[:,0]) #取所有行的第一列
print(n[:,[1,3,4]]) #取所有行的0,2,3列
#翻转
n = np.random.randint(0,100,size=(5,6))
n[::-1] #所有行翻转
n[:,::-1] #所有列翻转
#图片翻转
plt.imshow(cat[:,:,::-1]) #第三个维度做翻转,RGB变为BGR
plt.imshow(cat[::10,::10,::-1]) #模糊处理,步长为10,翻转
Python基础之NumPy(一)
于 2023-10-26 10:50:17 首次发布