十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
從已有數(shù)組中提取隨機(jī)數(shù)組
創(chuàng)新互聯(lián)公司專(zhuān)注于子長(zhǎng)企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。子長(zhǎng)網(wǎng)站建設(shè)公司,為子長(zhǎng)等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
要求:從兩個(gè)不同數(shù)組中隨機(jī)抽取數(shù)組,用到函數(shù)np.random.choice
import numpy as np
hyper=[1,2,5,8,9,12,13,14,17,19]
noh=[3,4,6,7,10,11,15,16,18,20]
#h:n 2:2
l1=np.random.choice(hyper,2,replace=False)
l2=np.random.choice(noh,2,replace=False)
ll=[l2[0],l1[0],l1[1],l2[1]]
print(ll)
l1=np.random.choice(hyper,2,replace=False)
l2=np.random.choice(noh,2,replace=False)
ll=[l1[0],l2[0],l1[1],l2[1]]
print(ll)
l1=np.random.choice(hyper,2,replace=False)
l2=np.random.choice(noh,2,replace=False)
ll=[l1[0],l1[1],l2[0],l2[1]]
print(ll)
l1=np.random.choice(hyper,2,replace=False)
l2=np.random.choice(noh,2,replace=False)
ll=[l2[1],l2[0],l1[0],l1[1]]
print(ll)
Numpy內(nèi)置了從頭開(kāi)始創(chuàng)建數(shù)組的函數(shù),zerosshape將創(chuàng)建一個(gè)用指定形狀用0填充的數(shù)組。默認(rèn)的dtype是float64。
這種方法叫Numpy方法進(jìn)行生成。
Python是由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的吉多范羅蘇姆于1990年代初設(shè)計(jì)的一種編程語(yǔ)言。
用來(lái)創(chuàng)建一個(gè)指定形狀(shape)、數(shù)據(jù)類(lèi)型(dtype)且未初始化的數(shù)組
shape 數(shù)組形狀
dtype 數(shù)據(jù)類(lèi)型,可選
order 有"C"和"F"兩個(gè)選項(xiàng),分別代表,行優(yōu)先和列優(yōu)先,在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)元素的順序
注意: 數(shù)組元素為隨機(jī)值,因?yàn)樗鼈兾闯跏蓟?/p>
創(chuàng)建指定大小的數(shù)組,數(shù)組元素以 0 來(lái)填充
創(chuàng)建指定形狀的數(shù)組,數(shù)組元素以 1 來(lái)填充
從已有的數(shù)組創(chuàng)建數(shù)組
a 任意形式的輸入?yún)?shù),可以是,列表, 列表的元組, 元組, 元組的元組, 元組的列表,多維數(shù)組
dtype 數(shù)據(jù)類(lèi)型,可選
order 可選,有"C"和"F"兩個(gè)選項(xiàng),分別代表,行優(yōu)先和列優(yōu)先,在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)元素的順序
用于實(shí)現(xiàn)動(dòng)態(tài)數(shù)組,接受 buffer 輸入?yún)?shù),以流的形式讀入轉(zhuǎn)化成 ndarray 對(duì)象
buffer 可以是任意對(duì)象,會(huì)以流的形式讀入。
dtype 返回?cái)?shù)組的數(shù)據(jù)類(lèi)型,可選
count 讀取的數(shù)據(jù)數(shù)量,默認(rèn)為-1,讀取所有數(shù)據(jù)。
offset 讀取的起始位置,默認(rèn)為0
注意: buffer 是字符串的時(shí)候,Python3 默認(rèn) str 是 Unicode 類(lèi)型,所以要轉(zhuǎn)成 bytestring 在原 str 前加上 b
從可迭代對(duì)象中建立 ndarray 對(duì)象,返回一維數(shù)組
iterable 可迭代對(duì)象
dtype 返回?cái)?shù)組的數(shù)據(jù)類(lèi)型
count 讀取的數(shù)據(jù)數(shù)量,默認(rèn)為-1,讀取所有數(shù)據(jù)
根據(jù) start 與 stop 指定的范圍以及 step 設(shè)定的步長(zhǎng),生成一個(gè) ndarray
start 起始值,默認(rèn)為0
stop 終止值(不包含)
step 步長(zhǎng),默認(rèn)為1
dtype 返回ndarray的數(shù)據(jù)類(lèi)型,如果沒(méi)有提供,則會(huì)使用輸入數(shù)據(jù)的類(lèi)型
用于創(chuàng)建一個(gè)一維數(shù)組,數(shù)組是一個(gè)等差數(shù)列構(gòu)成的
start 序列的起始值
stop 序列的終止值,如果endpoint為true,該值包含于數(shù)列中
num 要生成的等步長(zhǎng)的樣本數(shù)量,默認(rèn)為50
endpoint 該值為 ture 時(shí),數(shù)列中中包含stop值,反之不包含,默認(rèn)是True。
retstep 如果為 True 時(shí),生成的數(shù)組中會(huì)顯示間距,反之不顯示。
dtype ndarray 的數(shù)據(jù)類(lèi)型
用于創(chuàng)建一個(gè)于等比數(shù)列
start 序列的起始值為:base ** start
stop 序列的終止值為:base ** stop。如果endpoint為true,該值包含于數(shù)列中
num 要生成的等步長(zhǎng)的樣本數(shù)量,默認(rèn)為50
endpoint 該值為 ture 時(shí),數(shù)列中中包含stop值,反之不包含,默認(rèn)是True。
base 對(duì)數(shù) log 的底數(shù)。
dtype ndarray 的數(shù)據(jù)類(lèi)型
需求:根據(jù)已有的多個(gè)列表,利用numpy.array()函數(shù)創(chuàng)建三維以上數(shù)組
格式概述: 每一維用一個(gè) [] 括起,不同維之間用 , 逗號(hào)間隔,最后總體再用 [] 括起!??!
說(shuō)明 :列表肯定是一維的,多個(gè)列表一行一行堆疊形成二維,多個(gè)這樣的二維構(gòu)成三維,以此類(lèi)推可得更高維矩陣(一般3維以上就不用numpy.array()這種方法創(chuàng)建了)。
注意 :高維數(shù)組,以三維(5,2,3)為例:前面的5代表頁(yè)數(shù),即表示(2,3)這樣的二維矩陣有5個(gè)。即: 前面的數(shù),永遠(yuǎn)代表比它"低一維"的數(shù)組有多少個(gè) !
(1)創(chuàng)建二維數(shù)組的例子:
(2)創(chuàng)建三維數(shù)組的例子1:(2,3,3)
(3)創(chuàng)建三維數(shù)組的例子2:(4,2,3)
補(bǔ)充:最快驗(yàn)證自己創(chuàng)建的數(shù)組是否滿(mǎn)足自己的維度需求的方式,就是看打印的結(jié)果中, 最外面有幾個(gè) ] 中括號(hào),有幾個(gè) ] 就是幾維數(shù)組 !如本文中第3個(gè)例子,打印結(jié)果最外層有3個(gè) ],說(shuō)明滿(mǎn)足3維的要求。
Python創(chuàng)建空數(shù)組的三種方式:
1、numpy指定形狀為0
實(shí)際上,empty生成的數(shù)組當(dāng)然可以為空,只要我們指定了相應(yīng)的形狀。例如,如果我們傳入數(shù)組的形狀參數(shù)為(0,3),則可以生成目標(biāo)空數(shù)組:
所以,生成的數(shù)組是否為空,不在于你用的是不是empty,而在于傳入的形狀參數(shù)。當(dāng)然, 這里的empty換成ones或者zeros也都可以,只要形狀是(0, 3)即可。
2、利用空列表創(chuàng)建
初始化numpy數(shù)組的一種方式是由列表創(chuàng)建,那么當(dāng)我們傳入的列表是空列表時(shí)即可創(chuàng)建空數(shù)組。特別的,為了創(chuàng)建指定列數(shù)的空列表,我們需要傳入指定個(gè)數(shù)的嵌套空列表,然后轉(zhuǎn)置即可。
3、利用pandas轉(zhuǎn)換生成
numpy和pandas是一對(duì)好搭檔,常常需要對(duì)二者數(shù)據(jù)進(jìn)行轉(zhuǎn)換,在創(chuàng)建空數(shù)組時(shí)自然也可以。為了創(chuàng)建一個(gè)空數(shù)組,我們可以首先考慮先創(chuàng)建一個(gè)空的DataFrame,然后由其轉(zhuǎn)換為numpy對(duì)象即實(shí)現(xiàn)了創(chuàng)建空數(shù)組。
首先,我們創(chuàng)建一個(gè)僅有列名、而沒(méi)有索引和值的空DataFrame:
進(jìn)而,可由該DataFrame對(duì)象轉(zhuǎn)化為空數(shù)組: