Python作业2

## 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")



全部评论

相关推荐

10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
11-27 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务