2003031115—李能武—Python数据分析第三周作业
项目 | 内容 |
课程班级博客链接 | https://edu.cnblogs.com/campus/pexy/20sj |
作业要求链接 | https://edu.cnblogs.com/campus/pexy/20sj/homework/12540 |
博客名称 | 2003031115—李能武—Python数据分析第三周作业—numpy的简单操作 |
要求 | 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)。 |
题目一:扩展阅读心得体会
1.扩展阅读:Python3及pip、numpy、Matplotlib等模块的安装。
心得:
安装可以选择默认安装,也可以自定义安装,我比较喜欢自定义安装,默认安装路径都比较深,自定义安装自己定义个较浅的目录,后续容易找。
心得:
首先,使用NumPy,开发人员可以执行以下操作:
数组的算数和逻辑运算。
傅立叶变换和用于图形操作的例程。
与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。
其次,数据类型对象描述了对应于数组的固定内存块的解释,取决于以下方面:
数据类型(整数、浮点或者 Python 对象)
数据大小
字节序(小端或大端)
在结构化类型的情况下,字段的名称,每个字段的数据类型,和每个字段占用的内存块部分。
如果数据类型是子序列,它的形状和数据类型。
题目二
实训一:
1.训练要点
(1)掌握Nuympy的数组的创建及随机数的生成。
(2)掌握Nuympy中用于统计分析的基本运算函数。
2.需求说明
Numpy数组在数值运算方面的效率优于python提供的list,所以灵活掌握numpy中数组的创建以及基础的运算是有必要的。
3.实现思路及步骤
(1)创建一个数值范围为0~1,间隔为0.01的数组。
(2)创建100个服从正态分布的随机数。
(3)对创建的两个数组进行四则运算。
(4)对创建的随机数组进行简单的统计分析。
4.运行代码和截图
代码:
import numpy as np
#1、创建一个数值范围为0~1,间隔为0.01的数组
arr1=np.arange(0,1,0.01)
print("arange函数创建的数值范围为0~1间隔为0.01的数组arr1为:\n",arr1)
#2、创建由100个服从正态分布的随机数构成的数组
arr2=np.random.randn(100)
print('生成的随机数组arr2为:\n',arr2)
#3、对创建的两个数组进行四则运算
print('arr1 + arr2:\n',arr1+arr2)
print('arrl-arr2:\n',arr1-arr2)
print('arrl*arr2:\n',arr1*arr2)
print('arrl/arr2:\n',arr1/arr2)
#print('arrl**arr2:\n',arr1**arr2)
#4、对创建的数组进行简单的统计分析
print('正态分布数数组的累计和为:\n',np.cumsum(arr2))#计算所有元素的累计和
print('正态分布数去重后的值组为:\n',np.unique(arr2))#去除重复值
print('正态分布数组的均值为:',np.mean(arr2))#计算数组均值
print('正态分布数组的标准差为:',np.std(arr2))#计算数组标准差
print('正态分布数组的方差为:',np.var(arr2))#计算数组方差
print('正态分布数组的最小值为:',np.min(arr2))#计算最小值
print('正态分布数组的最大值为:',np.max(arr2))#计算最大值
print('正态分布数组的总和为:',np.sum(arr2))#计算数组总和
运行截图:
实训二
1.训练要点
(1)掌握矩阵创建方法。
(2)掌握数组索引的方法。
2.需求说明
创建国际象棋棋盘,填充8x8矩阵。国际象棋棋盘是个正方形,由横纵向8格、颜色一深一浅交错排列的64个小方格组成,深色格为黑格,浅色格为白格,棋子就在这些格子中移动,如图2-3所示。
3.实验思路及步骤
(1)创建一个8×8矩阵。
(2)把1、3、5、7行和2、4、6列的元素设置为1。
4.运行代码和截图
代码:
import numpy as np
matr1=np.ones((8,8))
for i in range(8):
for j in range(8):
if(i+j)%2==0:
matr1[i,j]=0
print('国际棋盘对应的矩阵为:\n',matr1)
for i in range(0,8):
for j in range(0,8):
if matr1[i,j]==0:
print("□",end=' ')
else:
print("■", end=' ')
print('\n')
截图: