Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
5Podzieleniekażdegoelementuprzez3.Zmierzonyczasdla10milionówliczbfloat
jestmniejszyniż40milisekund.
6Zapisanietablicywplikubinarnym.npy.
7
Załadowaniedanychjakoplikuodwzorowanegowpamięcidoinnejtablicy.Pozwala
tonawydajneprzetwarzaniewycinkówtablicy,jeślinawetniemieszcząsięcałko-
wiciewpamięci.
8Inspekcjaostatnichtrzechelementówpoprzemnożeniukażdegoelementuprzez6.
Tobyłatylkozakąska.NumPyiSciPypotężnymibibliotekamiistanowiąpodstawę
innychświetnychnarzędzi,takichjakbibliotekidoanalizydanychPandas(https://fpy.
li/2-20)-któraimplementujewydajnetypytablicdoprzechowywaniadanychnienume-
rycznychizapewniafunkcjeimportuleksportudanychdlawieluróżnychformatów,takich
jak.csv,
.xls,zrzutySQL,HDF5itp.-orazscikit-learn(https://fpy.li/2-21),obecnienaj-
szerzejużywanegozestawunarzędziwuczeniumaszynowym.WiększośćfunkcjiNumPy
iSciPyzaimplementowanewClubC++iwstaniewykorzystywaćwszystkierdzenie
procesora,gdyżzwalniająblokadęGIL(GlobalInterpreterLock)Pythona.ProjektDask
(https://fpy.li/dask)wspierazrównoleglanieprzetwarzaniaNumPy,Pandasiscikit-learn
pomiędzyklastrykomputerów.Tepakietyzasługująnacałeksiążki.Niniejszadonichnie
należy.AleżadenprzeglądsekwencjiPythonaniebyłbypełenbezprzynajmniejkrótkiej
wzmiankinatemattablicNumPy.
Przyjrzeliśmysięjużsekwencjompłaskim-tablicomstandardowymitablicom
NumPy-terazczaszwrócićuwagęnacałkowicieinnyzbiórobiektówzastępujących
starązwykłąlistę:kolejki.
Dequesiinnekolejki
Metody
.append
i
.pop
pozwalająużywaćobiektu
list
jakostosulubkolejki(jeśliużyjemy
.append
i
.pop(0)
,otrzymamydziałanieFIFO).Jednakwstawianieiusuwaniezlewejstro-
nylisty(zkońcaoindeksie0)jestkosztowne,ponieważwymagaprzesunięciacałejlisty.
Klasa
collections.deque
tobezpiecznawątkowokolejkadwustronnaprzeznaczona
doszybkiegowstawianiaiusuwaniazobukońców.Jesttakżedrogą,którąnależywybrać,
gdypotrzebujemylistynostatniowidzianychelementów”lubczegośpodobnego,ponie-
waż
deque
możebyćograniczona-tj.tworzonazmaksymalnądługością.Gdyjestpełna,
odrzucaelementyzprzeciwnegokońca,gdydodajemynowe.Przykład2-23pokazuje
niektóretypoweoperacjewykonywanenakolejce
deque
.
Przykład2-23Pracazkolejkądeque
>>>fromcollectionsimportdeque
>>>dq:deque(range(10),maxlen:10)
1
>>>dq
deque([0,1,2,3,4,5,6,7,8,9],maxlen:10)
Kiedylistaniejestrozwiązaniem
|
69