"""
np.random.shuffle(ArrayLike)随机打乱顺序
"""
np01 = np.array([2,5,6,7,3])
print(np01)
np.random.shuffle(np01)
print(np01)
安装
1.以管理员的形式打开cmd
2.输入命令安装numpy插件
pip install numpy
3使用命令是否安装成功
pip list
使用array创建
1导入numpy
import numpy as np
2创建数组
1.创建一维数组
arr1=np.array([1,2,3,4,5])
print (arr1)
2.创建二维数组
arr2=np.array([[1,2,3],[3,4,5],[1,5,8]])
注意:
如果传进来的列表中包含不同的类型,则统一为统一类型,str>float>int
使用arange创建
一维数组
import numpy as np
ndarray01 = np.arange(10) #产生0-9共10个元素
ndarray02 = np.arange(10, 20) #产生从10-19共10个元素
ndarray03 = np.arange(10, 20, 2) #产生10 12 14 16 18, 2为step 间隔为2
创建二维数组
ndarray01= np.arange(12).reshape(3, 4) #切记前面的12,必须满足3*4
print(ndarray01)
'''
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
'''
使用 random 创建数组
函数 | 描述 |
---|---|
np.random.random(size) | 生成0到1之间的随机数 |
np.random.randint(low,high=None,size=None,dtype="1") | 生成随机的整数 |
np.random.randn(d0,d1,d2,d3.........) | 生成标准正态的随机数(期望为0,方差为1) |
np.random.normal(loc,scale,size) | 生成正态分布(指定期望和方差) |
np.random.uniform(low,high,size) | 生成均勻分布的随机数 |
np.random.shuffle() | 随机打乱顺序 |
np.random.seed() | 设置随机数种子 |
np.random.sample(size) | 生成随机的浮点数 |
# np.random.random() 生成0到1之间的随机数
#创建一维数组 size生成几个数据,可直接写4
ndarray01= np.random.random(size=4) #[0.13475357 0.8088961 0.52055803 0.49706622]
#创建二维数组 size=(3,4) 3行4列 可用()和[] ,效果一样
ndarray01= np.random.random((3,4))
#创建三维数组 两个三行四列
ndarray01= np.random.random((2,3,4))
print(ndarray01)
"""
np.random.randint(low,high=None,size=None,dtype="1") 生成随机的整数
low:开始
high=None :结束
size:长度
dtype数据类型,默认是int32 no01.dtype属性
1.左开右闭
2.不写low默认是0
"""
#创建一维数组
ndarray02= np.random.randint(1,11,10)#1-10
#创建二维数组
ndarray02= np.random.randint(1,11,(3,4))#1-10
#创建三维数组
ndarray02= np.random.randint(1,11,(2,3,4))#1-10
print(ndarray02)
#创建标准的正态分布
#一维数组
ndarray01=np.random.randn(4)
#二维数组
ndarray01=np.random.randn(2,4)
#三维数组
ndarray01=np.random.randn(3,2,4)
print(ndarray01)
"""
np.random.normal(loc,scale,size)生成正态分布(指定期望和方差)
loc: 期望,默认0
scale: 方差,默认1.0
size: 长度
"""
ndarray01= np.random.normal(size=5)
ndarray01= np.random.normal(loc= 2,scale=3,size=5)
ndarray01= np.random.normal(size=(2,3,5))
print(ndarray01)
"""
np.random.uniform(low,high,size) 生成均勻分布的随机数
low: 不写默认是0,
high: 结尾,
: 长度
1.左开右闭
"""
np01= np.random.uniform(size= 4)#四个数据几乎不会相差太多,比较均匀
np01= np.random.uniform(size= (2,4))
np01= np.random.uniform(high=3)
print(np01)
"""
np.random.shuffle(ArrayLike)随机打乱顺序
"""
np01 = np.array([2,5,6,7,3])
print(np01)
np.random.shuffle(np01)
print(np01)
"""
np.random.seed()设置随机数种子
从每堆种子里选出来的数都是不会变的,从不同的堆里选随机种子每次都不一样,若想每次都能得到相同的随机数,每次产生随机数之前,都需要调用一次seed()
"""
np.random.seed(1)
np01= np.random.randint(1,10,size= 5)
np.random.seed(1)
np02= np.random.randint(1,10,size = 5)
print(np01)
print(np02)
"""
np.random.sample(size) 生成随机的浮点数
"""
np01= np.random.sample(size=2)
print(np01)
np02= np.random.sample(size=(2,3))
print(np02)
使用zeros创建数组
numpy.zeros(shaps,dtype=float,order="C") #创建指定大小的数组,数组以0填充
"""
numpy.zeros(shaps,dtype=float,order="C") #创建指定大小的数组,数组以0填充
shaps:维度
dtype:数据类型
order:按行按列
"""
np01= np.zeros(5) #[0. 0. 0. 0. 0.]
np01= np.zeros(5,dtype="int32") #[0 0 0 0 0]
np01= np.zeros((2,5),dtype="int32")
"""
[[0 0 0 0 0]
[0 0 0 0 0]]
"""
print(np01)
创建特定形状的多维数组
函数 | 描述 |
---|---|
np.zeros((3, 4)) | 创建3×4的元素全为0的数组 |
np.ones((3, 4)) | 创建3×4的元素全为1的数组 |
np.empty((2, 3)) | 创建2×3的空数组,空数据中的值并不为0,而是未初始化的垃圾值 |
np.zeros_like(ndarr) | 以ndarr相同维度创建元素全为0数组 |
np.ones_like(ndarr) | 以ndarr相同维度创建元素全为1数组 |
np.empty_like(ndarr) | 以ndarr相同维度创建空数组 |
np.eye(5) | 该函数用于创建一个5×5的矩阵,对角线为1,其余为0 |
np.full((3,5), 10) | 创建3×5的元素全为10的数组,10为指定值 |
np01= np.ones((2,5),dtype="int32")
np01= np.empty((2,5),dtype="int32")
print(np01)
list01= [
[1,2,3],
[4,5,6]
]
np01= np.array(list01)
print(np01.shape)
np02= np.zeros_like(np01,dtype=float)
print(np02)
print(np02.shape)
# np.eye(5) 该函数用于创建一个5×5的矩阵,对角线为1,其余为0
np01= np.eye(5)
print(np01)
# np.full((3,5), 10) 创建3×5的元素全为10的数组,10为指定值
#10是指定的,你可以指定任意值
np01= np.full((3,5),5)
print(np01)
使用linspace创建数组
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
参数 | 描述 |
---|---|
start | 序列的起始值 |
stop | 序列的终止值 ,如果endpoint=True,则证明数组包含于数列 |
num | 生成样本数量,默认是50 |
endpoint | 如果为ture则包含stop,否则不包含 |
retstep | 如果retstep=Ture,生成的数组会显示间距,否则不显示 |
dtype | 数据类型 |
"""
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
"""
np01= np.linspace(1,10,5)#从1-10,生成5个数据
np01= np.linspace(1,10,5,endpoint=True)#把10包含进去
np01= np.linspace(1,10,5,endpoint=False)#把10不包含进去
np01= np.linspace(1,10,5,retstep=True)#显示间距
np01= np.linspace(1,10,5,dtype="int32")
print(np01)
使用logspace创建数组
np.logspace(start,stop,num=50,endpoint=Ture,base=10.0,dtype=None)
参数 | 描述 |
---|---|
start | 序列的起始值 |
stop | 序列的终止值 ,如果endpoint=True,则证明数组包含于数列 |
num | 生成样本数量,默认是50 |
endpoint | 如果为ture则包含stop,否则不包含 |
base | 对数log的底数,默认10.0 |
dtype | 数据类型 |