文章目录
随机创建
numpy.random.方法
方法 | 作用 |
---|---|
.rand(d0, d1, …, dn) | 生成从n个维度的均匀随机数组数,全为0-1之间的浮点数 |
.randn(d0, d1, …, dn) | 生成从n个维度的正态分布随机数组数,浮点数,平均数为0,标准差为1 |
.randint(low,high,(shape)) | 从指定范围中取随机整数,shape是形状 |
.uniform(low,high,(size)) | 从指定范围中生成随机多维的数组,size是形状 |
.normal(loc, scale, size) | 从指定正态分布中抽取随机数据,loc分布中心,scale为标准差,size为形状 |
.seed(s) | 随机数种子,s是给定的种子值 |
正态分布和随机分布
正态分布
随机分布
rand
生成从n个维度的均匀随机数组数,全为0-1之间的浮点数
import numpy as np
# 三维数组
arr = np.random.rand(2, 3, 4)
print(arr)
print(type(arr))
randn
生成从n个维度的正态分布随机数组数,浮点数,平均数为0,标准差为1
import numpy as np
# 三维数组
arr = np.random.randn(2, 3, 4)
print(arr)
print(type(arr))
randint
从指定范围中取随机整数,shape是形状
import numpy as np
arr = np.random.randint(0,10, (3,4))
print(arr)
print(type(arr))
uniform
从指定范围中生成随机多维的数组,size是形状
import numpy as np
arr = np.random.uniform(0,10, (3,4))
print(arr)
print(type(arr))
normal
|从指定正态分布中抽取随机数据,loc分布中心,scale为标准差,size为形状
import numpy as np
arr = np.random.normal(0,10, (3,4))
print(arr)
print(type(arr))
seed
随机数种子,s是给定的种子值
有序创建
方法 | 作用 |
---|---|
array(start,stop,step,dtype) | 创建普通数组, stop |
zeros(shape, dtype=None, order=‘C’) | shape形状,dtype数据类型,order排列方式 |
ones(shape, dtype=None, order=‘C’) | shape形状,dtype数据类型,order排列方式 |
empty(shape, dtype=None, order=‘C’) | shape形状,dtype数据类型,order排列方式,初始化数组 |
eye | 创建一个方阵,对角线全为1 |
arange(start,stop,step,dtype) | start默认为0,stop为末尾,step为步长,dtype为类型 |
linspace | 创建等价数列 |
logspace | 创建等比数列 |
asarray(a, dtype = None, order = None) | 把其他类型数据转换为数组 |
frombuffer | 创建动态数组 |
fromiter | 从可迭代对象中建立 ndarray 对象,返回一维数组 |
array
详细见 Numpy01—Ndarray 对象
zeros
指定大小的全0数组
import numpy as np
arr = np.zeros((5,5))
print(arr)
ones
指定大小的全1数组
import numpy as np
arr = np.ones((5,5),dtype="int")
print(arr)
empty
初始化数组,不是总是返回全0,有时返回的是未初始的随机值(内存里的随机值)
import numpy as np
arr = np.empty((5,5),dtype="int")
print(arr)
eye
创建一个方阵,对角线全为1
import numpy as np
arr = np.eye(5)
print(arr)
arange
start默认为0,stop为末尾,step为步长,dtype为类型
import numpy as np
arr = np.arange(1,10,2)
print(arr)
linspace
用于创建一个一维数组,数组是一个等差数列构成的
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
参数 | 作用 |
---|---|
start | 起始值 |
stop | 结束值 |
num | 范围 |
endpoint | 默认为true,包含末尾,左闭右闭 |
retstep | 显示间距 |
dtype | 数据类型 |
import numpy as np
arr = np.linspace(1,10,10,retstep=True)
print(arr)
logspace
创建一个于等比数列
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
参数 | 作用 |
---|---|
start | 起始值:base ** start |
stop | 结束值:base ** stop |
num | 范围 |
endpoint | 默认为true,包含末尾,左闭右闭 |
retstep | 显示间距 |
base | log的底数 |
dtype | 数据类型 |
import numpy as np
arr = np.logspace(0,9,10, base=2)
print(arr)
asarray
把其他类型的数组转换为数组,例如列表,元祖等
numpy.asarray(a, dtype = None, order = None)
import numpy as np
a = [(1,2,3)]
print(type(a))
arr = np.asarray(a)
print(arr)
print(type(arr))
fromiter
从可迭代对象中建立 ndarray 对象,返回一维数组
numpy.fromiter(iterable, dtype, count=-1)
参数 | 含义 |
---|---|
iterable | 可迭代对象 |
dtype | 数据类型 |
count | 默认为-1,全部复制 |
import numpy as np
list = range(5)
print(list)
# 转换为可迭代对象
a = iter(list)
arr = np.fromiter(a,dtype="int")
print(arr)