NumPy數(shù)組是一個多維的數(shù)組對象(矩陣),稱為ndarray,具有矢量算數(shù)運算能力和復(fù)雜的廣播能力,并具有執(zhí)行速度快和節(jié)省空間的特點
因為努力和真誠,有更多的客戶和我們聚集在一起,為了共同目標,成都創(chuàng)新互聯(lián)在工作上密切配合,從創(chuàng)業(yè)型企業(yè)到如今不斷成長,要感謝客戶對我們的高要求,讓我們敢于面對挑戰(zhàn),才有今天的進步與發(fā)展。從網(wǎng)站到小程序制作,軟件開發(fā),成都APP應(yīng)用開發(fā),10余年企業(yè)網(wǎng)站建設(shè)服務(wù)經(jīng)驗,為企業(yè)提供網(wǎng)站設(shè)計,網(wǎng)站托管運營一條龍服務(wù).為企業(yè)提供全網(wǎng)營銷推廣,定制網(wǎng)站設(shè)計,原創(chuàng)設(shè)計,10余年品質(zhì),值得您的信賴.1.ndim屬性:維度個數(shù)
2.shape屬性:緯度大小
3.dtype屬性:數(shù)據(jù)類型
ndarray的隨機創(chuàng)建
通過隨機抽樣(numpy.random)生成隨機數(shù)據(jù)
示例代碼:
# 導(dǎo)入numpy, 別名np
imort numpy as np
# 生成指定維度大?。?行4列)的隨機多維浮點型數(shù)據(jù)(二維),rand固定區(qū)間0.0 ~ 1.0
arr = np.random.rand(3, 4)
print(arr)
print(type(arr))
# 生成指定維度大?。?行4列)的隨機多維整型數(shù)據(jù)(二維),randint()可以指定區(qū)間(-1 ~ 5)
arr = np.random.randint(-1, 5, size = (3, 4)) # 'size='可省略
print(arr)
print(type(arr))
# 生成指定維度大小(3行4列)的隨機多維浮點型數(shù)據(jù)(二維),uniform()可以指定區(qū)間(-1 ~ 5)
arr = np.random.uniform(-1, 5, size = (3, 4)) # 'size='可省略
print(arr)
print(type(arr))
print('維度個數(shù): ', arr.ndim)
print('維度大小: ', arr.shape)
print('數(shù)據(jù)類型: ', arr.dtype)
運行結(jié)果:
[[ 0.09371338 0.06273976 0.22748452 0.49557778]
[ 0.30840042 0.35659161 0.54995724 0.018144 ]
[ 0.94551493 0.70916088 0.58877255 0.90435672]]
<class 'numpy.ndarray'>
[[ 1 3 0 1]
[ 1 4 4 3]
[ 2 0 -1 -1]]
<class 'numpy.ndarray'>
[[ 2.25275308 1.67484038 -0.03161878 -0.44635706]
[ 1.35459097 1.66294159 2.47419548 -0.51144655]
[ 1.43987571 4.71505054 4.33634358 2.48202309]]
<class 'numpy.ndarray'>
維度個數(shù): 2
維度大小: (3, 4)
數(shù)據(jù)類型: float64
ndarray的序列創(chuàng)建
collection 為序列型對象(list)、嵌套序列對象(list of list)。
示例代碼:
# list序列轉(zhuǎn)換為ndarray
lis = range(10)
arr = np.array(lis)
print(arr) # ndarray數(shù)據(jù)
print(arr.ndim) # 維度個數(shù)
print(arr.shape) # 維度大小
# list of list嵌套序列轉(zhuǎn)換為ndarray
lis_lis = [range(10), rarnge(10)]
arr = np.array(lis_lis)
print(arr) # ndarray數(shù)據(jù)
print(arr.ndim) # 維度個數(shù)
print(arr.shape) # 維度大小
運行結(jié)果:
# list序列轉(zhuǎn)換為 ndarray
[0 1 2 3 4 5 6 7 8 9]
1
(10,)
# list of list嵌套序列轉(zhuǎn)換為 ndarray
[[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4 5 6 7 8 9]]
2
(2, 10)
指定大小的全0數(shù)組。注意:第一個參數(shù)是元組,用來指定大小,如(3,4)。
指定大小的全1數(shù)組。注意:第一個參數(shù)是元組,用來指定大小,如(3,4)。
初始化數(shù)組,不是總是返回全0,有時返回的是未初始的隨機值(內(nèi)存里的隨機值)。
示例代碼(2,3,4):
# np.zeros
zeros_arr = np.zeros((3, 4))
# np.ones
ones_arr = np.ones((2, 3))
# np.empty
empty_arr = np.empty((3, 3))
# np.empty 指定數(shù)據(jù)類型
empty_int_arr = np.empty((3, 3), int)
print('------zeros_arr------`)
print(zeros_arr)
print('\n------ones_arr------`)
print(ones_arr)
print('\n------empty_arr------`)
print(empty_arr)
print('\n------empty_int_arr------`)
print(empty_int_arr)
運行結(jié)果:
------zeros_arr-------
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
------ones_arr-------
[[ 1. 1. 1.]
[ 1. 1. 1.]]
------empty_arr-------
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]
------empty_int_arr-------
[[0 0 0]
[0 0 0]
[0 0 0]]
arange()類似python的range(), 創(chuàng)建一個一維ndarray數(shù)組。
reshape()將重新調(diào)整數(shù)組的維數(shù)
示例代碼(5):
# np.arange()
arr = np.arange(15) # 15個元素的一維數(shù)組
print(arr)
print(arr.reshape(3, 5)) # 3*5個元素的二維數(shù)組
print(arr.reshape(1, 3, 5)) # 1*3*5個元素的三維數(shù)組
運行結(jié)果:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
[[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]]
random.shuffle()將打亂數(shù)組序列(類似于洗牌)
示例代碼(6):
arr = np.arange(15)
print(arr)
np.random.shuffle(arr)
print(arr)
print(arr.reshape(3, 5))
運行結(jié)果:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
[ 5 8 1 7 4 0 12 9 11 2 13 14 10 3 6]
[[ 5 8 1 7 4]
[ 0 12 9 11 2]
[13 14 10 3 6]]
ndarray的數(shù)據(jù)類型
dtype參數(shù)
指定數(shù)組的數(shù)據(jù)類型,類型名+位數(shù),如float64, int32
轉(zhuǎn)換數(shù)組的數(shù)據(jù)類型
示例代碼(1、2):
# 初始化3行4列數(shù)組,數(shù)據(jù)類型為float64
zeros_float_arr = np.zeros((3,4), dtype = np.float64)
print(zeros_float_arr)
print(zeros_float_arr.dtype)
# astype轉(zhuǎn)換數(shù)據(jù)類型,將已有的數(shù)組的數(shù)據(jù)類型轉(zhuǎn)換為int32
zeros_int_arr = zeros_float_arr.astype =(np. int32)
print(zeros_int_arr)
print(zeros_int_arr.dtype)
運行結(jié)果:
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
float64
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
int32
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享標題:numpy_ndarry的創(chuàng)建及數(shù)據(jù)類型-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.rwnh.cn/article14/ehcge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、微信小程序、網(wǎng)站排名、動態(tài)網(wǎng)站、Google、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容