Nump02---数组的创建(随机创建、有序创建)

随机创建

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)

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章