Numpy創(chuàng)建數(shù)組和隨機(jī)數(shù)組的方法小結(jié)
一、創(chuàng)建數(shù)組
1.Numpy.array()
numpy.array(object,dtype=None,copy=True,order=None,ndmin=0)
參數(shù):
- object:表示一個(gè)數(shù)組序列
- dtype: 通過它可以更改數(shù)組的數(shù)據(jù)類型,可以自填參數(shù)
- copy: 表示數(shù)組能否被復(fù)制,默認(rèn)值為True
- order: 以哪種內(nèi)存布局創(chuàng)建數(shù)組,有 3 個(gè)可選值,分別是 C(行序列)/F(列序列)/A(默認(rèn))
- ndmin: 用于指定數(shù)組的維度
例子:
1.
a = np.array([127, 128, 129], dtype=np.int8) >>> a array([ 127, -128, -127], dtype=int8)
2.
a = np.array([2, 3, 4], dtype=np.uint32) >>> b = np.array([5, 6, 7], dtype=np.uint32) >>> c_unsigned32 = a - b >>> print('unsigned c:', c_unsigned32, c_unsigned32.dtype) unsigned c: [4294967293 4294967293 4294967293] uint32 >>> c_signed32 = a - b.astype(np.int32) >>> print('signed c:', c_signed32, c_signed32.dtype) signed c: [-3 -3 -3] int64
2.Numpy.arrange()
注意:numpy.arange的最佳實(shí)踐是使用整數(shù)開始、結(jié)束和步進(jìn)值。關(guān)于dtype有一些微妙之處。在第二個(gè)示例中,定義了dtype。在第三個(gè)示例中,數(shù)組是dtype=float,以適應(yīng)0.1的步長。由于四舍五入錯(cuò)誤,有時(shí)包括停止值。
np.arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> np.arange(2, 10, dtype=float) array([2., 3., 4., 5., 6., 7., 8., 9.]) >>> np.arange(2, 3, 0.1) array([2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9])
3.常用的生成方法
np.zeros((2, 3)) array([[0., 0., 0.], [0., 0., 0.]]) >>> np.zeros((2, 3, 2)) array([[[0., 0.], [0., 0.], [0., 0.]], [[0., 0.], [0., 0.], [0., 0.]]])
Ndarray創(chuàng)建函數(shù),例如numpy.ones、numpy.zeros和隨機(jī)定義基于所需形狀的數(shù)組。Ndarray創(chuàng)建函數(shù)可以通過指定元組或列表中該維度的維度和長度來創(chuàng)建具有任何維度的數(shù)組。
Numpy.zeros將創(chuàng)建一個(gè)充滿指定形狀的0值的數(shù)組。默認(rèn)的dtype是float64:
np.ones((2, 3)) array([[1., 1., 1.], [1., 1., 1.]]) >>> np.ones((2, 3, 2)) array([[[1., 1.], [1., 1.], [1., 1.]], [[1., 1.], [1., 1.], [1., 1.]]])
二、隨機(jī)數(shù)組
1. random函數(shù)
random
函數(shù)是最常見的生成隨機(jī)數(shù)的方法,用于在區(qū)間[0,1)
中生成均勻分布的隨機(jī)數(shù)或隨機(jī)數(shù)數(shù)組。
print('生成10個(gè)隨機(jī)數(shù)組:',np.random.random(10)) 生成10個(gè)隨機(jī)數(shù)組: [0.78403643 0.86951582 0.46432236 0.60289239 0.47522589 0.47570346 0.08911971 0.60222356 0.09509883 0.39883192]
2. rand函數(shù)
本函數(shù)可以返回一個(gè)或一組服從“0~1”均勻分布的隨機(jī)樣本值。隨機(jī)樣本取值范圍是[0,1),不包括1。
np.random.rand(d0,d1,d2……dn)
np.random.rand(2,3) array([[0.48142724, 0.47994795, 0.3866318 ], [0.11259652, 0.97729317, 0.21072319]])
3. randn() 函數(shù)
np.random.randn(d0, d1, d2, ..., dn)
是一個(gè)NumPy函數(shù),用于生成服從標(biāo)準(zhǔn)正態(tài)分布(均值為0,標(biāo)準(zhǔn)差為1)的隨機(jī)數(shù)的數(shù)組。
這個(gè)函數(shù)可以有不同的使用方式:
- 如果沒有參數(shù),函數(shù)返回一個(gè)單個(gè)的浮點(diǎn)數(shù)。
- 如果函數(shù)括號內(nèi)有一個(gè)參數(shù),函數(shù)返回一個(gè)一維數(shù)組,其秩為1。需要注意的是,該數(shù)組不能表示向量或矩陣,僅表示一維數(shù)據(jù)。
- 如果函數(shù)括號內(nèi)有兩個(gè)或多個(gè)參數(shù),函數(shù)返回具有對應(yīng)維度的數(shù)組,可以表示向量或矩陣。
- 另外,
np.random.standard_normal()
函數(shù)與np.random.randn()
類似,但是它的輸入?yún)?shù)是一個(gè)元組(tuple)。
總結(jié)一下:
np.random.randn()
生成服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)數(shù)組。- 使用不同數(shù)量的參數(shù)可以控制生成數(shù)組的維度。
np.random.standard_normal()
是一種類似的函數(shù),但接受一個(gè)元組作為參數(shù)。
np.random.randn(2,3) array([[-0.23037688, -0.95561502, 0.49889129], [ 1.75961354, -0.59473613, -2.66341955]])
4. randint() 函數(shù)
np.random.randint(low, high=None, size=None, dtype=int)
是一個(gè)NumPy函數(shù),用于生成指定范圍內(nèi)的隨機(jī)整數(shù)數(shù)組。
該函數(shù)的格式如下:
- 參數(shù)
low
表示生成隨機(jī)整數(shù)的最小值。 - 參數(shù)
high
表示生成隨機(jī)整數(shù)的最大值(不包含在結(jié)果中)。如果未提供high
參數(shù),則默認(rèn)范圍為[0, low)。 - 參數(shù)
size
是可選的,用于指定生成的隨機(jī)整數(shù)數(shù)組的維度。如果未設(shè)置size
,則僅生成一個(gè)隨機(jī)整數(shù)。如果想生成多個(gè)隨機(jī)整數(shù),可以使用一個(gè)元組來指定數(shù)組的維度信息。 - 參數(shù)
dtype
是可選的,表示生成的隨機(jī)整數(shù)的數(shù)據(jù)類型,默認(rèn)為np.int
。
總結(jié)一下:
np.random.randint()
可以生成指定范圍內(nèi)的隨機(jī)整數(shù)數(shù)組。- 可以通過設(shè)置
low
和high
參數(shù)來指定生成隨機(jī)整數(shù)的范圍。 - 可以使用
size
參數(shù)來指定生成的隨機(jī)整數(shù)數(shù)組的維度。 dtype
參數(shù)可以用來指定生成的隨機(jī)整數(shù)的數(shù)據(jù)類型。
np.random.randint(1,9,size = [2,3]) array([[2, 8, 3], [6, 4, 6]])
以上就是Numpy創(chuàng)建數(shù)組和隨機(jī)數(shù)組的方法小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Numpy創(chuàng)建數(shù)組和隨機(jī)數(shù)組的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用Python實(shí)現(xiàn)嵌套繪圖并為條形圖添加自定義標(biāo)注
論文繪圖時(shí)經(jīng)常需要多圖嵌套,正好最近繪圖用到了,所以這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)嵌套繪圖并為條形圖添加自定義標(biāo)注,感興趣的可以了解下2024-02-02sublime3之內(nèi)網(wǎng)安裝python插件Anaconda的流程
這篇文章主要介紹了sublime3之內(nèi)網(wǎng)安裝python插件Anaconda的流程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11學(xué)習(xí)Python3 Dlib19.7進(jìn)行人臉面部識別
本篇文章主要給大家詳細(xì)介紹了Python3利用Dlib19.7進(jìn)行人臉面部識別的相關(guān)知識,一起學(xué)習(xí)參考下吧。2018-01-01Python3使用PyQt5制作簡單的畫板/手寫板實(shí)例
下面小編就為大家?guī)硪黄狿ython3使用PyQt5制作簡單的畫板/手寫板實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10Python中pinyin庫實(shí)現(xiàn)漢字轉(zhuǎn)換為拼音
python-pinyin是一個(gè)用于漢字轉(zhuǎn)拼音的Python庫,支持多音字、多種拼音風(fēng)格和自定義詞典,本文就來介紹一下Python中pinyin庫實(shí)現(xiàn)漢字轉(zhuǎn)換為拼音,感興趣的可以了解一下2025-01-01Python使用Bokeh庫實(shí)現(xiàn)炫目的交互可視化
Bokeh是一個(gè)用于創(chuàng)建交互式可視化圖形的強(qiáng)大Python庫,它不僅易于使用,而且功能強(qiáng)大,適用于各種數(shù)據(jù)可視化需求,本文將介紹Bokeh庫的繪圖可視化基礎(chǔ)入門,需要的可以了解下2024-03-03用gpu訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用tensorflow-cpu跑出錯(cuò)的原因及解決方案
這篇文章主要介紹了用gpu訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用tensorflow-cpu跑出錯(cuò)的原因及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03python 使用re.search()篩選后 選取部分結(jié)果的方法
今天小編就為大家分享一篇python 使用re.search()篩選后 選取部分結(jié)果的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11