## 2.2.1Numpy库的介绍和使用 %matplotlib inline ## 显示的图片格式(mac中的高清格式),还可以设置为"bmp"等格式 %config InlineBackend.figure_format = "retina" ## 库的导入 import numpy as np ## 生成一个数组,输入效果如下: import numpy as np arr=np.arange(1,9).reshape(2,4) print(arr) ## 改变数组的维度,默认是按照行优先改变数据维度,输入效果如下: arr.reshape(4,2) print(arr) ## order="F",指按照列优先改变数据维度,输入效果如下: print(arr.flatten('F').reshape(4,2)) ## 提取数组中的元素(提取第一行),输入效果如下: arr=np.arange(1,9).reshape(2,4) print(arr[1]) ## 提取一列并修改值为1,,输入效果如下: arr[:,2]=1 print(arr) ## 提取指定的行和列(前两行的1,2列),输入效果如下: print(arr[:,1:3]) ## 构建一个多维数组,数组包含两个矩阵,每个矩阵维2行4列,输入效果如下: arr1=arr*2 arr2=np.array([arr,arr1]) print(arr2) ## 查看数组的维度,输入效果如下: print(arr2.shape) ## 在1~15之间生成等间距向量,输入效果如下: print(np.linspace(1,15,5)) ## 以固定的长度生成向量,输入效果如下: print(np.arange(1,15,5)) ## 生成全0数组,输入效果如下: print(np.zeros((2,3))) ## 生成全1数组,输入效果如下: print(np.ones((2,3))) ## 生成单位数组,输入效果如下: print(np.eye(3)) ## 生成对角数组,输入效果如下: print(np.diag([1,6,11])) ## 得到矩阵的对角元素,输入效果如下: a=np.diag([0,4,8]) print(a[np.arange(3),np.arange(3)]) ## 指定随机数生成种子,输入效果如下: np.random.seed(2) ## 生成随机数,输入效果如下: a=np.random.randn(3,3) print(a) ## 计算数组的转置,输入效果如下: print(np.transpose(a)) ## 将数组转化为矩阵并计算逆矩阵,输入效果如下: from numpy import mat import numpy as np np.random.seed(2) a=np.random.randn(3,3) a_mat=mat(np.transpose(a)) print(a_mat.I) ## 检查相乘是否得到逆矩阵,输入效果如下: b=a_mat.I print(a_mat*b) ## 计算矩阵的行列式,输入效果如下: print(np.linalg.det(a)) ## 矩阵的迹(矩阵对角线元素的和),输入效果如下: b=np.diagonal(a) print(np.sum(b)) ### numpy中的统计函数 ## 计算均值,输入效果如下: arr=np.arange(1,9).reshape(2,4) arr1=arr.ravel() print(np.mean(arr1)) ## 计算标准差,输入效果如下: print(np.std(arr1)) #定义二维数组,如下: arr2=np.array([[2,5,3],[6,8,10]]) print(arr2) ## 数据排序(二维数组则对每行排序),输入效果如下: print(np.sort(arr2)) ## 数据排序(二维数组对每列排序) print(np.sort(arr2,axis=0)) ## 计算数组的百分位数 arr=np.arange(1,9).reshape(2,4) print(np.percentile(arr,50)) ## 计算中位数(即百分之50分位数) print(np.percentile(arr,50)) ## pandas库的简单介绍和使用 ## 导入pandas库 import pandas as pd ## 读取数据集Iris.csv数据 import pandas as pd df=pd.read_csv('C://Users/Administrator/Desktop/2021年9月22日课堂练习(1)/Iris.csv',encoding='gbk') ## 查看数据的前几行 print(df.head()) ## 查看数据的描述 print(df.describe()) ## 分别是数据每个特征的个数、均值、标准差、四分位数 ## 提取数据中的某列,并查看前6个数据 print(df['SepalLengthCm'][0:6]) ## 提取数据的第二列,并查看前6个数据 print(df['SepalWidthCm'][0:6]) ## 提取数据的第2,3行 print(df[:][2:4]) ## 绘制散点图 ## 提取数据的第2,3,5列数据 print(df[['SepalWidthCm','PetalLengthCm','Species']][0:5]) ## 绘制散点图 import matplotlib.pyplot as plt import numpy as np import pandas as pd data=pd.read_csv('C://Users/Administrator/Desktop/2021年9月22日课堂练习(1)/Iris.csv') SepalWidthCm=data['SepalWidthCm'] PetalLengthCm=data['PetalLengthCm'] plt.xlabel('SepalWidthCm') plt.ylabel('PetalLengthCm') plt.title('散点图') plt.scatter(SepalWidthCm,PetalLengthCm) plt.show() ## 并行计算apply函数,按照列计算和 import pandas as pd df=pd.read_csv('C://Users/Administrator/Desktop/2021年9月22日课堂练习(1)/Iris.csv',encoding='gbk') print(df[['Id','SepalLengthCm','SepalWidthCm','PetalLengthCm','PetalWidthCm']].apply(lambda x:sum(x))) ## 构造一个dataframe ## 函数中是一个字典,字典中分别是列名和相应的样例值 import pandas as pd dict1={'A':['foo','bar','foo','bar','foo','bar'],'B':['one','one','two','three','two','two'],'C':[-0.909008,0.551454,2.292208,0.041539,-1.117925,0.539058],'D':[-0.596160,-0.019130,1.175001,-0.747871,0.009025,-0.878108]} print(pd.DataFrame(dict1)) ##查看变量中有几种值 df=pd.DataFrame(dict1) a=df.drop_duplicates(subset=['A'], keep='first') print(a['A']) ## matplotlib的简单介绍 ## 导入库 import matplotlib.pyplot as plt ## 图像在jupyter notebook中显示 %matplotlib inline ## 显示的图片格式(mac中的高清格式),还可以设置为"bmp"等格式 %config InlineBackend.figure_format = "retina" ## 输出图显示中文 from matplotlib.font_manager import FontProperties fonts = FontProperties(fname = "/Library/Fonts/华文细黑.ttf",size=14) ## 引入3D坐标系 from mpl_toolkits.mplot3d import Axes3D ## cm模块提供大量的colormap函数 from matplotlib import cm #根据注释完成 ## 绘制一条曲线 #定义X #定义y为sin(X) # 图像的大小(宽:6,高:4) # 绘制X,Y,红色、直线、圆圈 # X坐标轴的label # Y坐标轴的label # 图像的名字title # 图像中添加网格 #显示图像 import matplotlib.pyplot as plt import numpy as np x=np.linspace(2,14) y=np.sin(x) fig=plt.figure(figsize=(6,4)) plt.xlabel('X') plt.ylabel('Y') plt.title('y=sin(x)') plt.rcParams['axes.grid']=True plt.plot(x,y,'-r',marker='o') plt.show() ## 显示照片,读取一张彩色图片(莱娜.tiff),然后将其变成灰度图像,最后将原始彩色图像和灰度图像显示,效果如下: a=plt.imread('C://Users/Administrator/Desktop/2021年9月22日课堂练习(1)/莱娜.tiff') pic=plt.figure(figsize=(10,10)) pic.add_subplot(1,2,1) plt.title('RGB Image') plt.xticks([]) plt.yticks([]) plt.imshow(a) img_gray=a.min(axis=-1) pic.add_subplot(1,2,2) plt.title('Gray Image') plt.xticks([]) plt.yticks([]) plt.imshow(img_gray,cmap="gray")
全部评论
(0) 回帖