2003031104-高伟忠-Python数据分析第三周作业-第一次作业

项目 NumPy数值计算基础
博客名称 2003031104-高伟忠-Python数据分析第三周作业-第一次作业
课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj
这个作业要求链接 https://edu.cnblogs.com/campus/pexy/20sj/homework/12540
要求 每道题都要有题目,代码(使用插入代码),截图

扩展阅读心得体会:

1.Python3及pip、numpy、Matplotlib等模块的安装

在上学期学习python时就已经安装Python3了,安装的时候安装numpy模块找不到,上网搜索后将它安装成。

NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!
1.Numpy中比较常用且重要的便是numpy的计算功能(条件运算、统计运算、数组运算、矩阵运算等),含有大量的数学函数,提供给用户们便利的编程体验,numpy中含有random等用于生成随机数的函数,便于用户使用,numpy为机器学习提供了基础库。实训1 创建数组并进行运算1.训练要点
  • 实训一:
  • (1)掌握NumPy的数组创建及随机数生成。
  • (2)掌握NumPy中用于统计分析的基本运算函数。
  • 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.运行代码和截图

 

1 import numpy as np
 2 matr1=np.ones((8,8))
 3 for i in range(8):
 4     for j in range(8):
 5         if(i+j)%2==0:
 6             matr1[i,j]=0
 7 print('国际棋盘对应的矩阵为:\n',matr1)
 8 
 9 for i in range(0,8):
10     for j in range(0,8):
11         if matr1[i,j]==0:
12             print("",end=' ')
13         else:
14             print("", end=' ')
15     print('\n')

 

 

 

posted @ 2022-03-23 19:38  高伟忠  阅读(76)  评论(0)    收藏  举报