numpy生成0和1数组方法、从已有数组生成新数组方法、生成固定范围内数组、生成随机数组、绘制指定均值和标准差正态分布图、均匀分布图绘制

news2024/9/24 17:18:04

一、生成0和1数组

  • np.ones(shape, dtype):shape为要生成的数组的维度,dtype为数组内元素类型
  • np.ones_like(a, dtype):生成与a同维度的数组
  • np.zeros(shape, dtype)
  • np.zeros_like(a, dtype)

代码如下

one = np.ones([3,4])
one
------------------------------------
import numpy as np
one = np.ones([3,4])
np.ones_like(one, dtype=np.string_)
------------------------------------
import numpy as np
one = np.ones([3,4])
np.zeros_like(one, dtype=np.float32)

演示结果如下 

二、从现有数组生成

  • np.array(object, dtype):深拷贝,从现有数组object中创建
  • np.asarray(a, dtype):浅拷贝,相当于索引形式,并未创建新数组

演示如下

三、生成固定范围内数组

  • np.linspace (start, stop, num, endpoint):创建指定数量的等差数组 
    • start:序列的起始值
    • stop:序列的终止值
    • num:要生成的等间隔样例数量,默认为50
    • endpoint:序列中是否包含stop值,默认为ture
  • np.arange(start,stop, step, dtype):创建指定步长的等差数组
    • start:序列的起始值
    • stop:序列的终止值,不包含stop值
    • step:步长,默认为1
    • dtype:数组类型
  • np.logspace( start, stop, num=50, endpoint=True, base=10.0, dtype=None):创建等比数列
    • start:序列的起始值
    • stop:序列的终止值
    • num:要生成的等比数列数量,默认为50
    • endpoint:序列中是否包含stop值,默认为ture
    • base:默认生成以10为基低的等比数列
    • dtype:数组类型

举例演示如下

np.linspace(0, 100, 5)   # 数量为5
np.arange(0, 50, 5)   # 步长为5

np.logspace(1, 10, 10, base=2)  # 2分别取1-10的整数的幂,(10-1)+1=10个数
np.logspace(2, 7, 6, base=3)  # 3分别取2,3,4,5,6,7共6个数的幂,(7-2)+1=6个数
np.logspace(2, 4, 3)   # 默认基为10,即10取2,3,4的幂,个数为3=(4-2)+1

四、生成随机数组

使用模块:np.random()

1. 正态分布

正态分布:N(μ,\sigma ^{2} ),μ为均值,\sigma ^{2}为方差,方差\sigma ^{2}开根号即为标准差,μ决定了其对称位置,\sigma ^{2}决定了分布的幅度,方差和标准差用来衡量数据的离散程度

正态分布创建方式

  • np.random.randn(d0, d1, …, dn):用于生成标准正态分布随机数,d0, d1, …, dn为数组的维度,从标准正态分布中返回一个或多个样本值
  • np.random.normal(loc=0.0scale=1.0size=None):生成均值为loc,标准差为scale的正态分布数据
    • loc:均值,float类型,对应着整个分布的中心(对称轴)
    • scale:标准差,float类型,对应于分布的宽度,scale越大越矮胖,scale越小越瘦高
    • size:int或元组类型,输出的shape,默认为None,只输出一个值
  • np.random.standard_normal(size=None):返回指定形状的标准正态分布的数组
np.random.randn(2, 2 ,3)  # 从标准正态分布中返回指定维数样本值

np.random.normal(2, 0.5, 10)   # 指定均值、标准差

np.random.standard_normal(10)   # 标准正态

结果如下 

2.正态分布作图 

 绘制指定均值和标准差正态分布图

import numpy as np
import matplotlib.pyplot as plt
# 生成均值为2,标准差为0.5的正态分布数据,100000000个
a = np.random.normal(2, 0.5, 100000000)

# 创建画布
plt.figure(figsize=(8, 4), dpi=100)
# 绘制直方图
plt.hist(a, 1000, color='y')
# 显示图像
plt.show()

输出如图

标准正态分布图

import numpy as np
import matplotlib.pyplot as plt
# 标准正态分布
a = np.random.standard_normal(200000)

# 创建画布
plt.figure(figsize=(8, 4), dpi=100)
# 绘制直方图
plt.hist(a, 1000, color='y')
# 显示图像
plt.show()

 输出如图

 3.均匀分布

  • np.random.rand(d0, d1, …, dn):用于生成均匀分布的随机数,d0, d1, …, dn为数组的维度,返回[0,1)内的一组均匀分布的数
  • np.random.randint(low[, high, size, dtype]):用于生成随机整数,从一个均匀分布中随机采样,生成一个整数或N维整数数组
    • 取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数
    • dtype:数据类型
    • size:数据个数或形状
    • high:最大值
    • low:最小值
  • np.random.random([size]):用于生成[0,1)范围内的随机数,size为随机数的个数或形状
  • np.random.choice(a, size=None, replace=True, p=None):用于从a中随机选择指定数据
    • 数组p:与数组a相对应,表示取数组a中每个元素的概率,默认为选取每个元素的概率相同
    • replace: True表示可以取相同数字,False表示不可以取相同数字
    • 从a(一维数组)中随机抽取数字,并组成指定大小(size)的数组
  • np.random.uniform(low=0.0high=1.0size=None):从一个均匀分布[low,high)中随机采样
    • low: 采样下界,float类型,默认为0
    • high: 采样上界,float类型,默认为1
    • size: 输出样本数目,为int或元组(tuple)类型,如size=(a,b,c)指定为三维数组,输出a×b×c个样本,缺省时输出1个值
    • 返回值:ndarray类型,其形状和参数size中描述一致

演练代码如下

np.random.rand(2, 2, 3)   #  # 从均匀分布中返回指定维数样本值,范围为[0,1),三维数组

np.random.randint(-2, 2, 10)   # 生成[-2, 2)范围内的随机整数

np.random.random(10)   # 生成[0, 1)范围内的随机数

a = np.random.randint(-20, 20, 10) 
np.random.choice(a,10,replace=False)   # 从a中随机选择指定数据,replace=False表示不能重复

np.random.uniform(-2, 2, 10)   # 生成10个均匀分布的随机数,范围为[-2, 2)

np.random.uniform(-2, 2, size=(2,3,3))   

4. 均匀分布情况图

import matplotlib.pyplot as plt
# 生成均匀分布的随机数
aa = np.random.uniform(-1, 1, 1000000)

# 画图看分布状况
# 创建画布
plt.figure(figsize=(8, 4), dpi=100)
# 绘制直方图
plt.hist(aa, bins=100)  # aa代表要使用的数据,bins表示要划分区间数
plt.show()   # 显示图像

 结果如下

 学习导航:个人导航-实用导航网站

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

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

相关文章

机器学习——支持向量机与集成学习

支持向量机与集成学习 文章目录支持向量机与集成学习支持向量机的基本原理线性可分支持向量常用核函数集成学习概述集成学习的两种方式集成学习的基本类型弱学习其合成方式AdaBoost算法训练过程简例一类按监督学习方式对数据进行二元分类的广义线性分类器 文章目录支持向量机与…

免费不限时长的语音转文字软件——Word365

适用场景 想将语音转化成文字。 这里的语音可以是实时输入,也可以是已有音、视频转换成文字。 后者的操作比前者多一步操作。 1.实时语音转文字 可以直接打开Word365,【开始】选项卡中的【听写】功能。 打开前修改一下设置,语言可以根据需…

nmap之nse脚本简单学习

nmap之nse脚本简单学习 环境:centos8 nmap安装 yum -y install nmap -- 版本 [rootqingchen /]# nmap -version Nmap version 7.70 ( https://nmap.org )脚本入门学习 cd /usr/share/nmap [rootqingchen nmap]# ls nmap.dtd nmap-mac-prefixes nmap-os-db …

300dpi等于多少分辨率?如何给图片修改分辨率大小?

​图片是我们在生活中经常需要接触使用到的东西,无论是工作中还是生活中都离不开图片,在使用图片时我们会接触到“图片分辨率”、“dpi”这个概念,那么到底什么是图片分辨率?300DPI等于多少分辨率?如何给图片修改分辨率…

Lidar和IMU(INS)外参标定----常用开源项目总结

写在前面:博主主要关注的是自动驾驶中Lidar和RTK组合导航设备的标定,大部分的开源项目都把其转化为Lidar和IMU的标定过程。 1. ETH的lidar_align (Github)A simple method for finding the extrinsic calibration between a 3D lidar and a 6-dof pose …

推特精准客户开发手册

你要在巷子里营造出热闹的气氛,人为把热度炒起来,虚假的繁荣是做给别人看的,是用来吸引别人而不是说你自己沉迷于此,而“虚假的繁荣”又是个怎么的虚法呢?它需要外界看起来是真的。 可是问题来了,我们都知…

NTP时钟系统为制造业信息化产业提供守时保障

随着科学技术的发展,工业信息化高速迈进,高精度的同步时钟系统显得尤为重要。利用网络同步时钟系统技术对各个设备之间进行时间统一,对制造业和信息化产业提高产能,让生产力更高效提供守时保障。NTP时钟系统是基于网络时间协议而衍…

你问我答 | 解决关于入托的8个疑问

很多新手家长对于送孩子入托有很多顾虑,这次我们通过“你问我答”让家长更了解托班的意义。 Q:不好好吃饭的小宝宝,适合入托吗? A:适合。吃饭是孩子生活能力培养的重要部分,大部分孩子在入托前&#xff0c…

C. Binary String(思维+贪心)

Problem - 1680C - Codeforces 给你一个由字符0和/或1组成的字符串s。 你必须从字符串的开头去除几个(可能是零)字符,然后从字符串的结尾去除几个(可能是零)字符。移除后,字符串可能会变成空的。删除的代价…

【跟学C++】C++STL标准模板库——算法详细整理(中)(Study18)

文章目录1、简介2、STL算法分类及常用函数2.1、变序算法(一)2.2.1 初始化算法(2个)2.2.2 修改算法(2个)2.2.3 复制算法(6个)2.2.4 删除算法(6个)3、总结 【说明】 大家好,本专栏主要是跟学C内容,自己学习了这位博主【 AI菌】的【C21天养成计划】&#x…

大学生静态HTML网页设计--公司官网首页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 公司官网网站 | 企业官网 | 酒店官网 | 等网站的设计与制 HTML期末大学生网页设计作业,Web大学生网页 HTML:结构 CSS&#xf…

容器服务 ACK 结合 MSE Ingress,让集群入口流量管理更丰富、更容易

作者:扬少 随着云原生技术不断普及,越来越多的业务应用开始向云原生架构转变,借助容器管理平台 Kubernetes 的不可变基础设施、弹性扩缩容和高扩展性,助力业务迅速完成数字化转型。其中,集群入口流量管理方式在云原生…

斐波那契数列、跳台阶、矩形覆盖、而进制中1的个数、判断是否是素数

文章目录1、斐波那契数列2、跳台阶3、矩形覆盖4、二进制中1的个数5、判断是否是素数1、斐波那契数列 本题考点: 间复杂度,fib理解,剪枝重复计算 牛客链接 题目描述: 解题思路: 代码: class Solution {…

ozon、Joom等俄罗斯跨境电商卖家想要爆单需要具备哪些条件—自养号测评

Ozon成立于1998年,目前不仅是俄罗斯多品类电子商务平台领导者、俄罗斯最知名的电子商务品牌,是俄罗斯最早的电子商务公司之一 Joom平台是俄罗斯知名的电商平台,Joom平台成立于2016年6月份,joom平台在16年11月份就对中国地区卖家进…

项目上线整体流程

文章目录一、上线前准备二、阿里云机器购买三、上线架构图四、安装Git五、云服务器安装MySQL六、云服务器安装Redis七、云服务器安装源码安装Python八、云服务器安装Uwsgi九、安装虚拟环境十、安装nginx十一、前端项目部署十二、后端项目部署1)Git拉取最新代码安装依…

Docker——容器命令介绍、创建Nginx容器与Redis容器

目录 一、容器命令 二、创建并运行Nginx容器 1.1 去dockerhub查看Nginx容器运行命令 1.2 怎么访问Nginx? 1.3 查看容器日志 1.4总结 三、进入Nginx容器并修改HTML内容 3.1 进入容器 3.2 进入Nginx的HTML所在目录 3.3 修改index.html文件(容器内修…

零基础上手unity VR开发【将项目安装到Oculus头套中】

📌个人主页:个人主页 ​🧀 推荐专栏:Unity VR 开发成神之路 --【着重解决VR项目开发难,国内资料匮乏的问题。从零入门,一步一个脚印,带你搞定VR开发! 😻😻】 &#x1f4d…

leetcode39. 组合总和

文章目录题目思考代码和注释总结题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同…

【全志T113-S3_100ask】15-1 内核5.4驱动spi屏幕——ILI9341

【全志T113-S3_100ask】15-1 内核5.4驱动spi屏幕——ILI9341背景(一)spi设备树1、修改设备树2、完善设备树(二)使能内核(三)兼容性修改(四)测试背景 本来想直接驱动mipi屏幕的&…

香蕉派BPI-M6 采用深蕾半导体Vs680芯片设计,板载4G LPDDR4和16G eMMC存储

Banana PI BPI-M6 香蕉派BPI-M6是香蕉派社区在2022年推出的新一代单板计算机,它采用深蕾半导体(Synaptics) VS680四核Cortex-A73 (2.1GHz)和一个Cortex-M3处理器,Imagination GE9920 GPU。 NPU高达6 .75 tops算力。 板载4GB LPDDR4内存和16GB EMMC存储&a…