numpy生成0和1数组方法、从已有数组生成新数组方法、生成固定范围内数组、生成随机数组、绘制指定均值和标准差正态分布图、均匀分布图绘制
创始人
2024-02-12 18:54:53

一、生成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)   # 步长为5np.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()   # 显示图像

 结果如下

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

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...