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

扩展阅读的心得:

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

对于安装Python3,由于之前有安装的经验,所以安装没有什么问题。 而这次安装,我下载了PyCharm2021.3.2版本。

对于模块的安装,之前在CSDN上有所学习https://blog.csdn.net/W_REP/article/details/117134384?utm_source=app&app_version=5.2.1&code=app_1562916241&uLinkId=usr1mkqgl919blen

2.Numpy常用方法

阅读之后,对于NumPy的使用有了基本的了解。

可以用NumPy创建数组、查看数组的属性(元素的个数、形状、维度、元素类型);NumPy中有可以快速创建N维数组的api函数

从现有的数据创建数组

  • array(深拷贝)
  • asarray(浅拷贝)

NumPy数组也可以创建随机数组,包括均匀分布和正态分布;同时,还学习到NumPy的计算(条件运算、统计运算、数组与数的运算、矩阵运算)

实训1 创建数组并进行运算1.训练要点

(1)掌握NumPy的数组创建及随机数生成。

(2)掌握NumPy中用于统计分析的基本运算函数。

2.需求说明

NumPy数组在数值运算方面的效率优于Python提供的list,所以灵活掌握NumPy中数组的创建以及基础的运算是有必要的。

3.实验思路及步骤

(1)创建一个数组范围为0—1,间隔为0.01的数组。

(2)创建100个服从正态分布的随机数。

(3)对创建的两个数进行四则运算。

(4)对创建的随机数组进行简单的统计分析。

4.运行代码及截图

 1 import numpy as np
2 #1、创建一个数值范围为0~1,间隔为0.01的数组
3 arr1=np.arange(0,1,0.01)
4 print("arange函数创建的数值范围为0~1间隔为0.01的数组arr1为:\n",arr1)
5 #2、创建由100个服从正态分布的随机数构成的数组
6 arr2=np.random.randn(100)
7 print('生成的随机数组arr2为:\n',arr2)
8
9 #3、对创建的两个数组进行四则运算
10 print('arr1 + arr2:\n',arr1+arr2)
11 print('arrl-arr2:\n',arr1-arr2)
12 print('arrl*arr2:\n',arr1*arr2)
13 print('arrl/arr2:\n',arr1/arr2)
14 #print('arrl**arr2:\n',arr1**arr2)
15
16 #4、对创建的数组进行简单的统计分析
17 print('正态分布数数组的累计和为:\n',np.cumsum(arr2))#计算所有元素的累计和
18 print('正态分布数去重后的值组为:\n',np.unique(arr2))#去除重复值
19 print('正态分布数组的均值为:',np.mean(arr2))#计算数组均值
20 print('正态分布数组的标准差为:',np.std(arr2))#计算数组标准差
21 print('正态分布数组的方差为:',np.var(arr2))#计算数组方差
22 print('正态分布数组的最小值为:',np.min(arr2))#计算最小值
23 print('正态分布数组的最大值为:',np.max(arr2))#计算最大值
24 print('正态分布数组的总和为:',np.sum(arr2))#计算数组总和

 实训2 创建一个国际象棋的棋盘

1,训练要点

(1)掌握矩阵创建方法。

(2)掌握数组索引的方法。

2.需求说明

创建国际象棋棋盘,填充8*8矩阵。国际象棋棋盘是个正方形,由横纵向各8格、颜色一深一浅交错排列的64个小方格组成,深色格为黑格,浅色格为白格,棋子就在这些格子中移动,如图所示。

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')

2003031118-李伟-Python数据分析第三周作业-第一次作业的更多相关文章

  1. 2003031121-浦娟-python数据分析第三周作业-第一次作业

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj 作业链接 https://edu.cnblogs.com/campus/pexy/20s ...

  2. 2003031121——浦娟——Python数据分析第七周作业——MySQL的安装及使用

    项目 要求 课程班级博客链接 20级数据班(本) 作业要求链接 Python第七周作业 博客名称 2003031121--浦娟--Python数据分析第七周作业--MySQL的安装及使用 要求 每道题 ...

  3. python学习第三周总结

    文件操作 文件的读写模式 文件的操作模式 文件相关操作 文件内光标移动 文件内容修改 函数前戏 函数的语法结构 函数的定义和调用 函数的分类 函数的返回值 函数的参数 函数参数之位置参数 默认参数 可 ...

  4. [读书笔记] Python数据分析 (三) IPython

    1. 什么是IPython IPyhton 本身没有提供任何的计算或者数据分析功能,在交互式计算和软件开发者两个方面最大化地提高生产力,execute-explore instead of edit- ...

  5. 第三周博客作业<西北师范大学|李晓婷>

    1.助教博客链接:https://www.cnblogs.com/lxt-/MyComments.html 2.学生作业打分要求:   https://www.cnblogs.com/nwnu-dai ...

  6. Python数据分析(三)pandas resample 重采样

    下方是pandas中resample方法的定义,帮助文档http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling中有 ...

  7. 【Python】 第三周:基本数据类型

    整数 python整数无限制 二进制:以0b或者0B开头,例如: 0b010,-0B101 八进制:以0o或者0O开头,例如:0o123,-0O456 浮点数 浮点数间运算存在不确定尾数,不是bug ...

  8. python课程第三周重点记录

    1.关于set,set是一个无序且不重复的元素集合 s = set(["ss","dd","pp"]) #创建set s1 = set([& ...

  9. 北航OO(2020)第三单元博客作业

    一.JML理论基础及相关工具链 1.JML理论基础 该部分梳理本单元作业中涉及到的JML知识. 1.1注释结构 JML采用javadoc注释的方式来表示规格,且每行以@开头.通过使用//@annota ...

  10. Python数据分析与展示[第三周](pandas简介与数据创建)

    第三周的课程pandas 分析数据 http://pandas.pydata.org import pandas as pd 常与numpy matplotlib 一块定义 d=pd.Series(r ...

随机推荐

  1. SQLSERVER自动备份数据库

    1. 通过操作系统的定时任务执行 创建两个文件,auto.bat和auto.sql,使用bat调用sql文件中的代码段 auto.bat内容 sqlcmd -S localhost,2433 -U s ...

  2. Plus 3.0 (ThinkSNS+)centos8.5+php7.4在阿里云部署过程

    参考:https://zhiyicx.github.io/ts-api-docs/guide/installation/using-nginx-and-fpm-publish-website.html ...

  3. 博客神器Gridea

    博客神器Gridea Gridea 温故而知新 Gridea 最早叫 Hve Notes ,开发者为了更易读和好记,重新命名为 Gridea,支持 Windows 和 Mac 平台,他的基础界面非常的 ...

  4. Rust字符串处理

    Trim移除字符串开始末尾的字符串 fn main() { let s = " Hello Rust! "; // trim移除字符串开始末尾的空格 // "Hello ...

  5. nop 中创建任务(Task)

    NopCommerce 中Task 原理是服务端开启线程定时跑. 1.在数据表ScheduleTask中添加一条数据, 2.自定义类,继承ITask 即可 using Data.Log4Net; us ...

  6. python手动安装包办法

    首先去官网找知己需要的包,我这是以自己安装为例 先找需要安装的包然后看箭头准备下载 我这里选择的是tar压缩格式的点一下箭头指的地方会弹出下载按钮,之后下载即可 找到自己安装的python文件所在的位 ...

  7. centos7.9重启后,主机名会变为IP地址

    现象: centos7.9重启后,主机名会变为IP地址 当关闭DHCP功能,则主机名修改生效,否则重启后,主机名依旧变为图示的IP地址 解决方法:经过排查,由 /etc/sysconfig/netwo ...

  8. 打包exe

    2.要打包的文件为多个py文件 这种情况一般你的代码较多,项目较大,可能你写了一个GUI界面py文件这个文件调用了其他文件的函数什么的,这个时候你需要生成spec文件来打包,这里假设你的要打包的主文件 ...

  9. vant-ui经验

    1.van-checkbox搭配van-cell使用,点击圆圈区域,不触发定义的click函数. 解决:给van-checkbox添加一层div,添加click事件:van-checkbox也添加cl ...

  10. .net基础—委托和事件

    委托 委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用. 在实例化委托时,可以将其实例与任何具有兼容签名和返回类型的方法相关联. 可以通过委托实例调用方法.可以将任何可访问类或结构中与 ...