import numpy as np
import matplotlib.pyplot as plt
#加载显示图片,目录根据实际情况写。
img_arr = plt.imread(‘D:\大数据分析\python\123.jpg’)
plt.imshow(img_arr)
#将图片进行左右翻转
plt.imshow(img_arr[:,::-1,:])
plt.imsave(‘D:\大数据分析\python\456.jpg’,img_arr)
#上下翻转
plt.imshow(img_arr[::-1,:,:])
#裁减,熊猫头部
plt.imshow(img_arr[40:290,100:400,:])
变形reshape(重点)
- 注意:变形前和变形后数组的容量不可以发生变化
arr = np.random.randint(0,100,size=(2,8))
arr
arr_1 = arr.reshape((4,4))
arr_1
arr_2 = arr_1.reshape((16,))
arr_2
级联操作(重点)
- 将多个numpy数组进行横向或者纵向的拼接
- axis轴向的理解
- 0:列
- 1:行
- 问题:
- 级联的两个数组纬度一样,但是行列个数不一样会如何?
arr1 = np.random.randint(0,10,size=(3,4))
arr2 = np.random.randint(0,10,size=(4,4))
np.concatenate((arr1,arr1),axis=0) #axia=0表示列,1表示行
np.concatenate((arr1,arr2),axis=0) #如果进行行跟行的级联要保证级联的两个数组的行数保持一致
#制作一个熊猫照片的9宫格
img_arr_3 = np.concatenate([img_arr,img_arr,img_arr],axis=1)
img_arr_9 = np.concatenate([img_arr_3,img_arr_3,img_arr_3],axis=0)
plt.imshow(img_arr_9)
常用的聚合操作(重点)
- sum(求和),max(求最大值),min(求最小值),mean(求均值),count(求元素个数)
arr = np.random.randint(0,10,size=(4,6))
arr
#求所有元素的和
arr.sum()
#求每一列的和
arr.sum(axis=0)
#求每一行的和
arr.sum(axis=1)
np.square(arr)
常用的统计函数(重点)
- numpy.median()函数用于计算数组a中元素的中位数(中值)
- 标准差std(),标准差是一组数据平均值分散程度的一种度量。
- 公式:std = sqrt(mean((x - x.mean())**2))
- 如果数组是[1,2,3,4],则其平均值为2.5。因此,差的平方是[2.25,0.25,0.25,2.25],并且其平均值的平方根除以4,即sqrt(5/4),结果为1.1180339887498949。
- 方差var(),统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,即 mean((x - x.mean())** 2)。换句话说,标准差是方差的平方根。
np.median(arr,axis=0)#求arr每一列对应的中位数
np.std(arr,axis=1)
np.std(arr,axis=0)
#求出arr中最大元素的下标
np.argmax(arr)