【腾学汇的第1个实验代码】应用Matplotlib绘制图标分析

在这里插入图片描述


应用Matplotlib绘制图标分析

# 1.创建一维数组
# 导入包
import numpy as np#两种方式创建一维数组
vector = np.array([1,2,3])  #把数列转换成 nampy格式的数组
print(vector)print(type([1, 2, 3]), type(vector))
vector = np.arange(15)  #使用numpy.arange()方法创建给定区间,固定步长的数组或矩阵
print(vector)"""range([start, ]stop [,step])"""

在这里插入图片描述

# 2.创建多为数组
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix)

在这里插入图片描述

# 创建指定维度且元素全部为1的数组
one_matrix = np.ones([2,3])  #创建2*3的全1数组
print("全1数组:\n",one_matrix)
# 创建指定维度且元素全为0的数组
zero_matrix = np.zeros([2,3]) #创建2*3的全0数组
print('全0数组\n',zero_matrix)
# 创建指定维度且元素全为随机数的数组
rand_matrix = np.empty([2,3]) #创建2*3的全随机数组
print('全随机数组:\n', rand_matrix) #此处生成的值不一定是0,因为刚好分配给当前函数生成值的内存上刚好是0

#此处生成的值不一定是0,因为刚好分配给当前函数生成值的内存上刚好是0

在这里插入图片描述

# 3.操作数组元素
a = np.ones([2,3])
print(a)
a[1,1] = 100  #将数组a的[1,1]的值修改为100
print(a)a[0,2] = -10
print(a)

在这里插入图片描述

a = np.ones([2,3])
# ndim: 统计数组维数,即维度的数量
print('维度', a.ndim)
# shape:统计数组维度值,即数组行和列
print('形状',a.shape)
# size:统计数组元素的综述
print('元素个数',a.size)
# dtype:数组元素类型
print('元素类型',a.dtype)
# itemsize:数组中每个元素的字节大小
print('每个元素的字节大小',a.itemsize)

在这里插入图片描述

# 1.数组的算数运算
# 数组加、减、乘、除
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])print("a+b", a+b);
print("a-b", a-b);
print("a*b", a*b);
print("a/b", a/b);

在这里插入图片描述

import time
num_count = 10000
a = [i for i in range(num_count)]
b = [i for i in range(num_count)]list_res = []t1 = time.time()
for i in range(num_count):list_res.append(a[i] + b[i])
t2 = time.time()
list_cost = t2-t1
# print(list_res)np_a, np_b = np.array(a), np.array(b)
t3 = time.time()
np_res = np_a + np_b
t4 = time.time()
np_cost = t4-t3print('列表迭代计算耗时 = %.8f' % list_cost) #把变量填到%.8f这个地方,保留8位小数
print('numpy计算耗时 = %.8f' % np_cost)print(np.array_equal(np_res,np.array(list_res)),f"{np_cost/list_cost: .8f}")
# print(np_res) 
# 结果发现 用np做计算的耗时比直接用列表计算的耗时 减少一半,因其强大的性能,所以常被用来做数学运算

结果发现 用np做计算的耗时比直接用列表计算的耗时 减少一半,因其强大的性能,所以常被用来做数学运算

在这里插入图片描述

# 2.数组实现矩阵运算
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])print("a*b=",a*b)
#numpy.dot(矩阵乘)有2种写法:①x.dot(y)②np.dot(x,y)
print("Matrix1:",a.dot(b))
print("Matrix2:",np.dot(a,b))

在这里插入图片描述

#3.数组与标量算术运算
a = np.array([1,2,3])
print("a+2=",a+2)
print("a-2=",a-2)
print("a*2=",a*2)
print("a/2=",a/2)

在这里插入图片描述

#4.一维数组的min,maX,Sum运算
a = np.array([1,2,3])
print("min of array:",a.min())
print("max of array:",a.max())
print("sum of array:",a.sum())#一维数组的exp,sgrt,square运算
print("exp of array:",np.exp(a))
print("sqrt of array:",np.sqrt(a))
print("square of array:",np.square(a))e = 2.71828183  
e ** 2

在这里插入图片描述

#5.多维数组的min,max,sum运算
a = np.array([[1,2,3],[4,5,6]])
print("min of array:",a.min())
#ax15=0,表示沿着纵轴进行计算
print("min of array:",a.min(axis=0))
#axi5=1,表示沿着纵轴进行计算
#【数组1,数组2]
#数组1=[1,2,3]
#数组2=[4,5,6]
print("min of array:",a.min(axis=1))
print("max of array:",a.max())
print("max of array:",a.max(axis=0))
print("max of array:",a.max(axis=1))
print("sum of array:",a.sum())
print("sum of array:",a.sum(axis=0))
print("sum of array:",a.sum(axis=1))```

在这里插入图片描述

#6.随机数组生成
np.random.seed(42)  
print(np.random.rand(2,3)) # 均匀随机分布,[0,1]
print(np.random.randn(2,3)) # 正态分布
print(np.random.randint(1,10))# [start, end]
print(np.random.binomial(6,1))# 二项分布
print(np.random.beta(2,3)) # beta分布
print(np.random.normal(2,3)) #高斯正态分布

在这里插入图片描述

#7.一维数组索引、切片、送代 
a=np.arange(10)
print(a)#打印整个数组 
print(a[:5])#打印数组前5个元素 
for i in a: print(a[i])

在这里插入图片描述

#8.多维数组索引、切片、迭代
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
#打印整个数组
print(a[0:2,1:3])#打印数组不同维度指定元素
# a[0:2,] = [[1,2,3],[4,5,6]]
# a[0:2, 1:3] = [[2,3],[5,6]]
for i in a:print(i)

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt 
a=np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
plt.hist(a,bins=[0,20,40,60,80,100])np.sort(a)

在这里插入图片描述
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
a=np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
hist,bins=np.histogram(a,bins=[0,10,20,30,40,50,60,70,80,90,100])
print(hist)
print(bins)

在这里插入图片描述

x = [(bins[i]+bins[i+1])/2 for i in range(len(bins)-1)]#每个柱子的中心坐标
print("x:",x)
y = hist  #每个柱子的高度
plt.bar(x,y,width=bins[1]-bins[0])#width表示每个柱子的宽度
plt.show()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/156621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吉他效果器开发方法

吉他效果器开发方法 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,群赠送语音信号处理降噪算法,蓝牙耳机音频,ADI DSP音频项目核心开发资料, 1 做出的效果图 2 介绍 …

【网络通信】探索UDP与TCP协议、IP地址和端口号的奥妙

🌺个人主页:Dawn黎明开始 🎀系列专栏:网络奇幻之旅 ⭐每日一句:往前走,朝着光 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️ 文章目录 📋前…

【项目管理】甘特图(2)——甘特图教程

哈喽啊,你好,我是雷工。 通过上节初步认识了甘特图,本节学习如何一步步创建甘特图,以下为学习笔记。 一、样例展示 下边记录创建甘特图的操作步骤,完成的实际效果如下图所示: 实例图的上端展示项目的重要…

Altium Designer学习笔记7

PCB封装库的制作: 距离的测量: 各个焊盘的位置: 直插元件选择Multi-Layer。如果贴片元件的则选择顶层Top-Layer,或者Bottom-Layer。 形状是方形,尺寸是2mm*2mm。 孔的尺寸是1.4mm。 则该器件就制作完成。 TSSOP28封装…

VirtualBox7安装Ubuntu20及全屏、共享、粘贴板等设置

VirtualBox7安装Ubuntu20及全屏、共享、粘贴板等设置 1. 安装VirtualBox2. 安装Ubuntu202.1 获得x.vdi2.2 新建虚拟电脑 3. 增强设置3.1 增强功能3.2 全屏3.2 共享文件夹3.4 粘贴板 1. 安装VirtualBox 官网https://www.virtualbox.org/wiki/Downloads下载,笔者选择…

MyCAT2分库分表

目录 ​​​​​​一、分库分表的原理 1.垂直切分 2.水平切分 3.如何分表 1.选择要拆分的表 2.选择分表的定段 3.分库分表的环境准备 1.进入dw0配置 1)进入目录: 2)修改dw0.cnf: 3)修改dr0.cnf:…

# 聚类系列(一)——什么是聚类?

目前在做聚类方面的科研工作, 看了很多相关的论文, 也做了一些工作, 于是想出个聚类系列记录一下, 主要包括聚类的概念和相关定义、现有常用聚类算法、聚类相似性度量指标、聚类评价指标、 聚类的应用场景以及共享一些聚类的开源代码 下面正式进入该系列的第一个部分&#xff…

做好性能测试计划的4个步骤!全都是精华!【建议收藏】

如何做好一次性能测试计划呢?对于性能测试新手来说,也许你非常熟悉Jmeter的使用,也许你清楚的了解每一个系统参数代表的意义,但是想要完成好一次性能测试任务,并不仅仅是简单的写脚本,加压力,再…

【Seata源码学习 】篇三 TM开启全局事务的过程

【Seata源码学习 】篇三 TM开启全局事务的过程 TM发送 单个或批量 消息 以发送GlobalBeginRequest消息为例 TM在执行拦截器链路前将向TC发送GlobalBeginRequest 消息 io.seata.tm.api.DefaultGlobalTransaction#begin(int, java.lang.String) Overridepublic String begin(…

使用iframe 发现样式错位的解决办法

原理就是默认隐藏 点击的时候(或者需要的时候)展示出来 方法二 宽高为0

nacos网关

目录 拉取docker镜像 环境配置 网关搭建架构 wemedia-gateway网关配置 依赖 启动类配置 网关yml配置 nacos配置中心配置网关 wdmedia服务配置 依赖 启动类配置 yml配置 nacos配置 nacos中的配置共享 nacos配置 wmedia模块中yml的配置 参考:https://blog.csdn.net/…

springBoot中starter

springBoot项目中引入starter 项目引入xxljob&#xff0c;仅需要导入对应的starter包&#xff0c;即可进行快速开发 <dependency><groupId>com.ydl</groupId><artifactId>xxl-job-spring-boot-starter</artifactId><version>0.0.1-SNAPS…

深度学习知识点

深度学习过程 data [] for i,d in enumerate(data):image,label d image,label image.cuda(),label.cuda()img net(image)optimizer.zero_grad()#需要将梯度信息清零&#xff0c;因为梯度计算是按照batch分批次计算的&#xff0c;如果这一批batch没清零&#xff0c;会影响…

P1141 01迷宫(dfs+染色联通块)

染色联通块&#xff1a; 一个格联通的所有格 每个对应的最大可联通格子的个数均相同 分析&#xff1a; 1.只需要计算每个块里的元素个数 2.元素标记对应某个块 3.查找元素时&#xff1a; 由 &#xff08;1&#xff09;元素坐标-> &#xff08;2&#xff09;查找…

庖丁解牛:NIO核心概念与机制详解 07 _ 字符集

文章目录 Pre概述编码/解码处理文本的正确方式示例程序Code Pre 庖丁解牛&#xff1a;NIO核心概念与机制详解 01 庖丁解牛&#xff1a;NIO核心概念与机制详解 02 _ 缓冲区的细节实现 庖丁解牛&#xff1a;NIO核心概念与机制详解 03 _ 缓冲区分配、包装和分片 庖丁解牛&…

验证回文串

题目链接 验证回文串 题目描述 注意点 1 < s.length < 200000s 仅由可打印的 ASCII 字符组成将所有大写字符转换为小写字符忽略所有非字母数字字符 解答思路 首先将大写字母转为小写字母&#xff0c;再双指针分别从首尾判断对应位置的字符是否相同&#xff0c;注意当…

基于springboot实现应急救援物资管理系统项目【项目源码】计算机毕业设计

基于springboot实现应急救援物资管理系统演示 JAVA简介 JavaScript是一种网络脚本语言&#xff0c;广泛运用于web应用开发&#xff0c;可以用来添加网页的格式动态效果&#xff0c;该语言不用进行预编译就直接运行&#xff0c;可以直接嵌入HTML语言中&#xff0c;写成js语言&a…

「MobileNet V3」70 个犬种的图片分类

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

每日一题 2216. 美化数组的最少删除数(中等,贪心)

贪心&#xff0c;一开始可能会觉得如果删除前面一个相等的元素时&#xff0c;会导致后面的元素前移&#xff0c;造成产生更多的相等的元素对的情况但是在遍历过程中至少要在相等元素对中删除一个&#xff0c;也可以同时删除两个使得后面的元素奇偶关系不变&#xff0c;但是显然…

【C++上层应用】5. 文件和流

文章目录 【 1. 打开文件 】1.1 open 函数1.2 open 多种模式的结合使用 【 2. 关闭文件 】【 3. 写入 & 读取文件 】【 4. 文件位置指针 】 和 iostream 库中的 cin 标准输入流和 cout 标准输出流类似&#xff0c;C中另一个库 fstream 也存在文件的读取流和标准写入流。fst…