1:创建 numpy 数组。
要求:
(1)使用 array()函数、empty()函数、zeros()函数、linspace()函数等创建 numpy 数组。
(2)使用 numpy 数组的索引和切片方法访问数组元素。
# 要求:
# (1)使用 array()函数、empty()函数、zeros()函数、linspace()函数等创建 numpy 数组。
# (2)使用 numpy 数组的索引和切片方法访问数组元素。
import numpy as np
arr1=np.array([1,2,3,4,5])# 数组,包括1,2,3,4,5。
arr2=np.empty((3,4))# 3行4列的空矩阵。
arr3=np.zeros((3,4))# 3行4列的0矩阵。
arr4=np.linspace(0,10,5)# 0-10之间的5个数,包括0和10,也包括5,但是不包括10。
print(arr1)
print(arr2)
print(arr3)
print(arr4)
2:阅读程序并分析 numpy 库的运算功能。
要求:(1)写出运行结果。
(2)分析运算功能。
01 >>> import numpy as np
02 >>> a1=np.array([1,2,3])
03 >>> b1=np.array(([1,2,3],[4,5,6],[7,8,9]))
04 >>> a1+100
05 >>> b1*2
06 >>> a1
07 >>> b1
09 >>> a1+np.array([100,200,300])
10 >>> a1+b1
11 >>> np.sum(b1)
12 >>> np.sum(b1,axis=0)
13 >>> np.sum(b1,axis=1)
分析如下:
3:绘制散点图。
要求:绘制如图 13-1 所示的余弦三角函数 y=cos(2x)散点图。
提示:使用 import matplotlib.pyplot as plt 和 help(plt.scatter)命令查看绘制散点图的帮助信息。
# 3:绘制散点图。
# 要求:绘制如图 13-1 所示的余弦三角函数 y=cos(2x)散点图。
# 提示:使用 import matplotlib.pyplot as plt 和 help(plt.scatter)命令查看绘制散点图的帮助信息。
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(0,2*np.pi,0.1)
y=np.cos(2*x)
plt.scatter(x,y)
plt.title('y=cos(2x)')
plt.xlabel('x=0~2π')
plt.ylabel('y=-1~1')
plt.grid(True)
plt.show()
4.绘制y=e-xsin(2πx)如下图所示:
# 4.绘制y=e^(-x)sin(2πx)如下图所示:
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(0,2*np.pi,0.1)
y=np.exp(-x)*np.sin(2*np.pi*x)
plt.scatter(x,y)
plt.plot(x,y)
plt.xlabel('x=0~2π')
plt.ylabel('y=e^(-x)*sin(2πx)')
plt.grid(True)
plt.title('y=e^(-x)*sin(2πx)')
plt.show()
5.某公司 2017—2020 四年的主营业务和其他业务的销售额分别是[330, 360, 420, 410]和[150, 230, 145, 236](单位万元),绘制条形图。
# 5.某公司 2017—2020 四年的主营业务和其他业务的销售额分别是[330, 360, 420, 410]和[150, 230, 145, 236](单位万元),绘制条形图。
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x=np.arange(4)
y1=np.array([330,360,420,410])
y2=np.array([150,230,145,236])
plt.bar(x,y1,width=0.3,label='主营业务',alpha=0.8,color="red")
plt.bar(x+0.3,y2,width=0.3,label='其他业务',alpha=0.8,color="cyan")# alpha设置透明度顺序不能错
plt.xlabel('年度')
plt.ylabel('数量:单位(万元)')
plt.legend()
plt.show()
6.通过直方图展示正态分布的频数。
# 6.通过直方图展示正态分布的频数。
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x=np.random.normal(0,1,100000)
plt.hist(x,100,facecolor='b')
plt.title('正态分布直方图')
plt.xlabel('区间')
plt.ylabel('频数(出现的次数)')
plt.show()
7.某公司 2017—2020 四年的销售额分别是[330, 360, 420, 1410](单位万元), 绘制饼图。
# 7.某公司 2017—2020 四年的销售额分别是[330, 360, 420, 1410](单位万元), 绘制饼图。
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
labels = ['2017', '2018', '2019', '2020']
sizes = [330, 360, 420, 1410]
explode = (0, 0, 0, 0.1)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)
plt.axis('equal')
plt.title('饼图示例')
plt.legend()
plt.show()