国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

            當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Numpy中常用的方法和屬性匯總

            Numpy中常用的方法和屬性匯總

            來(lái)源:千鋒教育
            發(fā)布人:qyf
            時(shí)間: 2022-08-12 16:57:26 1660294646

              本篇文章我們繼續(xù)帶大家學(xué)習(xí)Numpy的數(shù)據(jù)操作部分,主要給大家系統(tǒng)的介紹一下Numpy中常用的方法和屬性。

              雖然我們前面也用過(guò)一些方法,但是我們沒(méi)有系統(tǒng)的給大家介紹,本次我們分成兩部分,詳細(xì)的給大家介紹一下Numpy中的一些方法和使用。

              Numpy的常用方法

              Ndarray對(duì)象的常用方法

              Numpy的常用方法

              生成函數(shù)

              生成ndarray對(duì)象的函數(shù),注意所有np即為numpy的簡(jiǎn)寫(xiě)。

              np.arange(n): 生成指定范圍的一個(gè)數(shù)據(jù)序列,返回的是ndarray對(duì)象。其實(shí)np.arange()的使用很類(lèi)似內(nèi)置函數(shù)range(),只不過(guò)range()函數(shù)生成的數(shù)據(jù)類(lèi)似一個(gè)列表,而np.arange()生成的是ndarray對(duì)象。

              np.array(list):將一個(gè)列表轉(zhuǎn)成ndarray對(duì)象。

              import numpy as np #導(dǎo)入numpy模塊,起別名為np

              import warnings

              warnings.filterwarnings("ignore") # 忽略警告信息

              data = np.arange(10)

              display(data)

              data1= list(range(10))

              display(type(data1))

              data1=np.array(data1)

              display(data1)

              # 當(dāng)然使用np.array()還可以創(chuàng)建二維的數(shù)組

              array = [[1,2],[3,4],[5,6],[7,8],[9,10]]

              array = np.array(array)

              display(array)

              # 如果是一維數(shù)組:向量

              # 如果是二維數(shù)組,那么就看做是一個(gè)矩陣

              結(jié)果:

              array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

              list

              array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

              array([[ 1, 2],

              [ 3, 4],

              [ 5, 6],

              [ 7, 8],

              [ 9, 10]])

              使用np.ones()、np.zeros()、np.full() 生成ndarray對(duì)象

              np.ones(N) : 生成一個(gè)N長(zhǎng)度的一維全1的ndarray對(duì)象

              np.zeros(N): 生成一個(gè)N長(zhǎng)度的一維全0的ndarray對(duì)象

              np.full(N) : 生成一個(gè)N長(zhǎng)度的一維值全為指定值的ndarray對(duì)象

              import numpy as np

              array1 = np.ones((3,4)) # 創(chuàng)建值全為1的數(shù)組。

              display(array1)

              array2 = np.zeros((3,4)) # 創(chuàng)建值全為0的數(shù)組。

              display(array2)

              array3 = np.full((3,4),6) # 創(chuàng)建值全為指定值的數(shù)組。

              display(array3)

              結(jié)果:

              array([[1., 1., 1., 1.],

              [1., 1., 1., 1.],

              [1., 1., 1., 1.]])

              array([[0., 0., 0., 0.],

              [0., 0., 0., 0.],

              [0., 0., 0., 0.]])

              array([[6, 6, 6, 6],

              [6, 6, 6, 6],

              [6, 6, 6, 6]])

              大家可以發(fā)現(xiàn)ones和zeros得到的數(shù)組是浮點(diǎn)型的。那如何設(shè)置它的數(shù)據(jù)類(lèi)型呢?

              A. 在聲明的時(shí)候可以使用,比如array1 = np.ones((3,4),dtype=np.int)

              B. 使用ndarray對(duì)象.astype(數(shù)據(jù)類(lèi)型)進(jìn)行類(lèi)型轉(zhuǎn)換

              Numpy的數(shù)據(jù)類(lèi)型有哪些呢?

              當(dāng)然若想得到一些隨機(jī)數(shù)組成的數(shù)組,我們還可以使用numpy.random中的方法完成

              np.random.rand 生成指定形狀的0­~1之間的隨機(jī)數(shù)

              np.random.random 生成指定形狀的0­~1之間的隨機(jī)數(shù)

              np.random.randn 標(biāo)準(zhǔn)正態(tài)分布

              np.random.normal 指定均值和方法的正態(tài)分布

              np.random.randint 生成指定數(shù)值范圍內(nèi)的隨機(jī)整數(shù)

              np.random.seed 按照種子來(lái)生成隨機(jī)數(shù),種子一樣,則生成的結(jié)果必一致

              np.random.shuffle 打亂數(shù)組元素順序

              np.random.uniform 均勻分布

              np.random.choice 按照指定概率從指定集合中,生成隨機(jī)數(shù)

              選出幾個(gè)給大家介紹一下

              np.random.rand 與np.random.random兩者類(lèi)似,都是產(chǎn)生0­~1之間的隨機(jī)數(shù),但是函數(shù)的參數(shù)不一樣。

              import numpy as np

              d1 = np.random.random((2,3)) #注意區(qū)別多(少)了一對(duì)()

              d2 = np.random.rand(2,3)

              display(d1,d2)

              np.random.randn() 服從正態(tài)分布的從0­~1之間的隨機(jī)數(shù)

              dn = np.random.randn(2,3)

              display(dn)

              np.random.normal() 指定均值和方差的正態(tài)分布

              # loc:float 此概率分布的均值(對(duì)應(yīng)著整個(gè)分布的中心centre)

              # scale:float 此概率分布的標(biāo)準(zhǔn)差(對(duì)應(yīng)于分布的寬度,scale越大越矮胖,scale越小,越瘦高)

              # size:int or tuple of ints 輸出的shape,默認(rèn)為None,只輸出一個(gè)值

              dn= np.random.normal(loc=4, scale=0.01, size=4)

              dn1= np.random.normal(loc=4, scale=0.01, size=(2,4))

              display(dn,dn1)

              np.random.randint() 隨機(jī)整數(shù)

              # 在1-10范圍里,隨機(jī)生成5個(gè)int32類(lèi)型的數(shù)值,生成的結(jié)果集可能出現(xiàn)重復(fù)數(shù)值 arr1 = np.random.randint(1, high=10, size=5, dtype=np.int32) display(arr1) # 生成一個(gè)指定范圍[-10,0]的隨機(jī)二維數(shù)組 arr2 = np.random.randint(-10, high=10, size=(4, 6), dtype=np.int32) display(arr2)

              np.random.choice() 從指定數(shù)據(jù)集中,隨機(jī)抽選一個(gè)數(shù)據(jù)

              # 從數(shù)值集合中,按照指定概率生成隨機(jī)數(shù),參數(shù)P的總和一定得是1

              arr = np.random.choice([0,3,5,7,8,9], p=[0.1, 0.2, 0.3, 0.4,0.2,0.5]) display(arr)

              數(shù)學(xué)函數(shù)與運(yùn)算操作

              數(shù)學(xué)相關(guān)

              Numpy提供了許多數(shù)學(xué)操作相關(guān)函數(shù),常用的函數(shù)有:

              abs / fabs :絕對(duì)值

              ceil / floor :向上/向下取整

              log / log2 / log10 :對(duì)數(shù)

              exp :e為底的指數(shù)

              modf :將浮點(diǎn)數(shù)num分解成整數(shù)部分和小數(shù)部分。

              sin / sinh / cos / cosh :正玄、余玄...

              sqrt :開(kāi)平方

              import numpy as np

              arr = np.array([[-1,1.2,0.8,-3.9],[-6,1,-1.8,0.9]])

              display(arr)

              #絕對(duì)值

              a = np.abs(arr)

              display(a)

              #向上/向下取整

              b = np.ceil(arr)

              b1 = np.floor(arr)

              display(b,b1)

              # 對(duì)數(shù)函數(shù)

              c = np.log(arr)

              display(c)

              # e為底數(shù)的指數(shù)函數(shù)

              d = np.exp(arr)

              display(d)

              # 浮點(diǎn)數(shù)拆分成 整數(shù) 和 浮點(diǎn)數(shù) 兩部分

              # 返回一個(gè)元組,含有兩個(gè)元素(數(shù)組類(lèi)型),第一個(gè)元素返回小數(shù)部分,第二個(gè)元素返回整數(shù)部分。

              e = np.modf(arr)

              display(e)

              #開(kāi)平方

              f = np.sqrt(arr)

              display(f)

              運(yùn)算相關(guān)的有:

              數(shù)組與數(shù)(一維數(shù)組與一維數(shù)組)的運(yùn)算(加+、減­、乘*、除/、取整//、取模%、平方 * * 、立方 * * * ):

              加:“+” 或者np.add(a, b)

              減:“­-” 或者np.subtract(a, b)

              乘:“*” 或者np.multiply(a, b)

              除:“/” 或者np.divide(a, b)

              次方:“ ** ” ,如2^7=2**7

              取整函數(shù):“ // ”或者 np.ceil(), np.floor(), np.trunc()/fix(), np.rint(), np.around()

              取模:“%”或者np.mod()和np.remainder()

              矩陣乘積:np.dot(a, b)

              判斷: > 、 >= 、< 、 <= 、 == 、 !=

              條件:all() 、any()

              邏輯條件: & 、 | 、 !

              上篇文章我們提到過(guò)運(yùn)算相關(guān)的符號(hào),當(dāng)然每個(gè)符號(hào)還有對(duì)應(yīng)的方法。在Numpy中的運(yùn)算基本都是遵守廣播機(jī)制的。現(xiàn)在我們?cè)诳匆幌玛P(guān)系運(yùn)算符:

              import numpy as np

              arr1 = np.array([1,2,3,4,5])

              arr2 = np.array([0,2,-5,-4,8])

              display(arr1>arr2,arr1<arr2,arr1!=arr2,arr1==arr2)< p="">

              結(jié)果如下:

              array([ True, False, True, True, False]) array([False, False, False, False, True]) array([ True, False, True, True, True]) array([False, True, False, False, False])

              其中all()和any()返回的也是bool類(lèi)型的結(jié)果,any()表示只要有一個(gè)True 就返回 True,all()表示所有為T(mén)rue 就返回 True

              display(np.all(arr1),np.any(arr2))

              邏輯運(yùn)算符的使用:

              np.all(arr1<0) & np.all(arr2>0)

              數(shù)組的鏈接(拼接、組合)和拆分

              np.concatenate 對(duì)多個(gè)數(shù)組按指定軸的方向進(jìn)行連接。

              np.stack / np.vstack / np.hstack / np.dstack / np.tile 組合

              np.split / np.hsplit / np.vsplit / np.dsplit 拆分

              本文章不做具體講解,可以參看上篇文章

              排序與去重

              np.unique( arr,return_index,return_inverse,return_counts,axis) : 返回ndarray中的元素,排除重復(fù)元素之后,并進(jìn)行排序

              np.sort( ndarray) : 作為函數(shù)使用時(shí),不更改被排序的原始arrays,返回副本

              arr = np.array([[1,2,3,4,5,5,6,6,6,8],[2,2,3,4,5,5,6,6,7,9]])

              arr = np.unique(arr)

              display(arr)

              arr1 = np.array([1,5,6,6,6,2,3,4,5])

              arr1 = np.sort(arr1)

              display(arr1)

              結(jié)果:

              array([1, 2, 3, 4, 5, 6, 7, 8, 9])

              array([1, 2, 3, 4, 5, 5, 6, 6, 6])

              改變形狀與數(shù)組扁平化

              我們可以通過(guò)數(shù)組對(duì)象的reshape方法(或者np的reshape函數(shù))來(lái)改變數(shù)組的形狀。

              arr1 = np.arange(30).reshape(3, 10)

              arr2 = np.arange(30).reshape(5, -1)

              # 也可以使用

              a = np.arange(10)

              b = np.reshape(a, (2,5))

              display(b)

              我們可以通過(guò)調(diào)用ravel或flatten方法,對(duì)數(shù)組對(duì)象進(jìn)行扁平化處理。

              np.ravel / ravel

              flatten

              shape, reshape, resize, ravel

              二者的區(qū)別在于,ravel返回原數(shù)組的視圖,而flatten返回原數(shù)組的拷貝。

              x = np.arange(16).reshape(4, 4)

              display(x.ravel())

              display(np.ravel(x))

              display(x.flatten())

              結(jié)果:

              array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])

              array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])

              array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])

              統(tǒng)計(jì)函數(shù)

              Numpy(或數(shù)組對(duì)象)具有如下常用的統(tǒng)計(jì)函數(shù)。

              mean / sum / prod(乘積)

              max / min / amax / amin

              argmax / argmin

              std / var

              cumsum / cumprod

              all / any

              median / percentile

              import numpy as np

              a = np.random.randint(1,20,size=(4,5)) # 隨機(jī)生成4行5列的數(shù)組

              print(np.mean(a)) # 平均值

              print(np.max(a)) # 最大值

              print(np.min(a)) # 最小值

              print(np.sum(a)) # 求和

              print(np.prod(a)) # 求積

              print(np.std(a)) # 求標(biāo)準(zhǔn)差

              print(np.var(a)) # 求方差

              print(np.median(a)) # 求中位數(shù)

              print(np.argmax(a)) # 最大值索引

             

              print(np.argmin(a)) # 最小值索引

              當(dāng)然也可以指定axis進(jìn)行計(jì)算,比如按照軸進(jìn)行計(jì)算,比如axis=0即列軸計(jì)算

              print(np.mean(a,axis=0)) # 平均值

              print(np.max(a,axis=0)) # 最大值

              print(np.min(a,axis=0)) # 最小值

             

              print(np.sum(a,axis=0)) # 求和

              Ndarray對(duì)象屬性與索引使用

              Ndarray對(duì)象的屬性

              ndim ­ 維度數(shù)

              shape ­ 維度/形狀

              dtype ­ 元數(shù)數(shù)據(jù)類(lèi)型

              size ­ 元素個(gè)數(shù)

              itemsize ­ 返回?cái)?shù)組元素占用空間的大小。以字節(jié)為單位

              nbytes ­ 總字節(jié)數(shù) = size * itemsize

              T ­ 數(shù)組對(duì)象的轉(zhuǎn)置視圖

              flat ­ 扁平迭代器

              arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

              print(arr.ndim) #維度數(shù)

              print(arr.shape) #維度形狀

              print(arr.dtype) #元數(shù)數(shù)據(jù)類(lèi)型

              print(arr.size) #元素個(gè)數(shù)

              print(arr.itemsize) # 返回?cái)?shù)組元素占用空間的大小。以字節(jié)為單位

             

              print(arr.nbytes) #返回占用空間的總長(zhǎng)度

              Ndarray對(duì)象的切片和索引

            1

              當(dāng)然Numpy的方法有很多也是可以轉(zhuǎn)成ndarray中的方法使用,比如統(tǒng)計(jì)函數(shù)

              import numpy as np

              a = np.random.randint(1,20,size=(4,5)) # 隨機(jī)生成4行5列的數(shù)組

              print(np.mean(a)) # 平均值

              print(a.mean()) # 通過(guò)ndarray對(duì)象調(diào)用mean方法

              print(np.max(a)) # 最大值

             

              print(a.max()) # 通過(guò)ndarray對(duì)象調(diào)用max方法

              import numpy as np

              a = np.random.randint(1,20,size=(4,5)) # 隨機(jī)生成4行5列的數(shù)組

              print(np.mean(a)) # 平均值

              print(np.max(a)) # 最大值

              print(np.min(a)) # 最小值

              print(np.sum(a)) # 求和

              print(np.prod(a)) # 求積

              print(np.std(a)) # 求標(biāo)準(zhǔn)差

              print(np.var(a)) # 求方差

              print(np.median(a)) # 求中位數(shù)

              print(np.argmax(a)) # 最大值索引

              print(np.argmin(a)) # 最小值索引

              更多關(guān)于“Python培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬(wàn)人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來(lái)試聽(tīng)。

            tags:
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
            免費(fèi)領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            反欺詐中所用到的機(jī)器學(xué)習(xí)模型有哪些?

            一、邏輯回歸模型邏輯回歸是一種常用的分類(lèi)模型,特別適合處理二分類(lèi)問(wèn)題。在反欺詐中,邏輯回歸可以用來(lái)預(yù)測(cè)一筆交易是否是欺詐。二、決策樹(shù)模...詳情>>

            2023-10-14 14:09:29
            軟件開(kāi)發(fā)管理流程中會(huì)出現(xiàn)哪些問(wèn)題?

            一、需求不清需求不明確是導(dǎo)致項(xiàng)目失敗的主要原因之一。如果需求沒(méi)有清晰定義,開(kāi)發(fā)人員可能會(huì)開(kāi)發(fā)出不符合用戶期望的產(chǎn)品。二、通信不足溝通問(wèn)...詳情>>

            2023-10-14 13:43:21
            軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā)是什么?

            軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā)是什么軟件定制開(kāi)發(fā)中的敏捷開(kāi)發(fā),從宏觀上看,是一個(gè)高度關(guān)注人員交互,持續(xù)開(kāi)發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

            2023-10-14 13:24:57
            什么是PlatformIo?

            PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái),它為眾多硬件平臺(tái)和開(kāi)發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡(jiǎn)化了開(kāi)發(fā)過(guò)程,并能兼容各種...詳情>>

            2023-10-14 12:55:06
            云快照與自動(dòng)備份有什么區(qū)別?

            1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

            2023-10-14 12:48:59
            快速通道