文章目錄
隨機創建
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)