python:Numpy(2)

本文详细介绍了Numpy库中创建均匀分布和正态分布随机数的方法,包括numpy.random.rand、numpy.random.uniform、numpy.random.randint以及numpy.random.randn和numpy.random.normal。此外,还探讨了Numpy数组的索引、切片、布尔型索引和元素访问及修改,以及flags参数的作用。最后,阐述了Numpy数组运算中的广播机制,包括相同大小数组、不同维度数组的运算。
摘要由CSDN通过智能技术生成
  • Numpy随机数

创建符合均匀分布的随机数组

numpy.random.rand(d0, d1, …, dn)
d0, d1, …, dn 表征生成数组的维数,若不指定则默认返回一个浮点数。

numpy.random.rand 函数通常用来创建一个服从 “0~1” 均匀分布的随机浮点数(组),随机样本取值范围是[0,1)。

print(np.random.rand())
print(np.random.rand(3,2))
0.2690046670866265
[[0.89634204 0.11035573]
 [0.0918894  0.63623696]
 [0.3892486  0.86558053]]

numpy.random.uniform(low=0.0, high=1.0, size=None)
low 采样下界,默认值为0;
high 采样上界,默认值为1;采样区间为[low, high)
size 样本维数,为int或tuple类型
numpy.random.uniform 函数可以用来创建一个在指定区间内符合均匀分布的随机数(组)。
在默认情况下,即无任何传参的时候,numpy.random.uniform 和 numpy.random.rand 函数效果类似。

print(np.random.uniform())
0.9275071325568973
print(np.random.uniform(0,10,size=(4,4)))
[[5.36658694 1.00491139 6.60551084 8.08491017]
 [6.08066655 2.44990778 6.93738547 7.92597467]
 [2.13358618 1.0793497  2.38447094 5.24373378]
 [8.86104717 8.66726931 6.9978283  4.78214507]]

numpy.random.randint(low, high=None, size=None, dtype=‘l’)
low 采样下界,整数类型。当high不指定时,采样区间为[0, low)
high 采样上界,可选。采样区间为[low, high)
size 样本维数,为int或tuple类型
dtype 数组数据类型,可选.

numpy.random.randint 函数可以用来创建一个在指定区间内符合均匀分布的随机整数(数组)

print(np.random.randint(10))
print(np.random.randint(0,100,size=10,dtype=np.int16))
3
[ 4 41 64 73 50 42 36 41 25 63]
创建符合正态分布的随机数组

numpy.random.randn(d0, d1, …, dn)
d0, d1, …, dn 表征生成数组的维数,若不指定则默认返回一个浮点数。

numpy.random.randn 函数可以用来创建一个指定维度的、符合标准正态分布(以0为均值、1为标准差)的浮点数(数组)。

print(np.random.randn())
print(np.random.randn(3,2))
-0.16537871841907784
[[ 1.00381782  0.22891542]
 [-1.31329439 -0.18088433]
 [ 0.09623652  2.92044164]]

numpy.random.normal(loc=0.0, scale=1.0, size=None)
loc 采样样本分布的均值
scale 采样样本分布的标准差
size 样本维数,为int或tuple类型

numpy.random.normal 函数可以用来创建一个指定维度的、符合指定正态分布(以loc为均值、scale为标准差)的浮点数(数组)。
在不指定均值和标准差的时候,numpy.random.normal 会产生一个符合标准正态分布的浮点数:

print(np.random.normal())
print(np.random.normal(5,10,(3,2)))
1.9307238923955998
[[ 7.17923195 20.25280746]
 [18.42725503  6.6526095 ]
 [12.79639438 14.7733698 ]]
  • Numpy的索引和切片

单一元素访问

一维数组的元素访问非常简单,和 Python 列表规则基本差不多。对单一元素的访问,索引遵循从 0 开始,依次递增 1。

arr=np.arange(10)
print(arr)
print(arr[4])
print(arr[-1])
[0 1 2 3 4 5 6 7 8 9]
4
9

切片索引

1.基本切片。

arr=np.arange(10)
print(arr[[0,-1]])
[0 9]

2.利用start、stop、step的方法访问。

arr=np.arange(10)
print(arr[0:-1:
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值