最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

numpy數(shù)組拼接簡(jiǎn)單示例

 更新時(shí)間:2017年12月15日 10:31:11   作者:故鄉(xiāng)月zyl  
這篇文章主要介紹了numpy數(shù)組拼接簡(jiǎn)單示例,涉及對(duì)numpy數(shù)組的介紹,numpy數(shù)組的屬性等內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。

NumPy數(shù)組是一個(gè)多維數(shù)組對(duì)象,稱為ndarray。其由兩部分組成:

·實(shí)際的數(shù)據(jù)

·描述這些數(shù)據(jù)的元數(shù)據(jù)

大部分操作僅針對(duì)于元數(shù)據(jù),而不改變底層實(shí)際的數(shù)據(jù)。

關(guān)于NumPy數(shù)組有幾點(diǎn)必需了解的:

·NumPy數(shù)組的下標(biāo)從0開(kāi)始。

·同一個(gè)NumPy數(shù)組中所有元素的類(lèi)型必須是相同的。

NumPy數(shù)組屬性

在詳細(xì)介紹NumPy數(shù)組之前。先詳細(xì)介紹下NumPy數(shù)組的基本屬性。NumPy數(shù)組的維數(shù)稱為秩(rank),一維數(shù)組的秩為1,二維數(shù)組的秩為2,以此類(lèi)推。在NumPy中,每一個(gè)線性的數(shù)組稱為是一個(gè)軸(axes),秩其實(shí)是描述軸的數(shù)量。比如說(shuō),二維數(shù)組相當(dāng)于是兩個(gè)一維數(shù)組,其中第一個(gè)一維數(shù)組中每個(gè)元素又是一個(gè)一維數(shù)組。所以一維數(shù)組就是NumPy中的軸(axes),第一個(gè)軸相當(dāng)于是底層數(shù)組,第二個(gè)軸是底層數(shù)組里的數(shù)組。而軸的數(shù)量——秩,就是數(shù)組的維數(shù)。

NumPy的數(shù)組中比較重要ndarray對(duì)象屬性有:

1.ndarray.ndim:數(shù)組的維數(shù)(即數(shù)組軸的個(gè)數(shù)),等于秩。最常見(jiàn)的為二維數(shù)組(矩陣)。

2.ndarray.shape:數(shù)組的維度。為一個(gè)表示數(shù)組在每個(gè)維度上大小的整數(shù)元組。例如二維數(shù)組中,表示數(shù)組的“行數(shù)”和“列數(shù)”。ndarray.shape返回一個(gè)元組,這個(gè)元組的長(zhǎng)度就是維度的數(shù)目,即ndim屬性。

3.ndarray.size:數(shù)組元素的總個(gè)數(shù),等于shape屬性中元組元素的乘積。

4.ndarray.dtype:表示數(shù)組中元素類(lèi)型的對(duì)象,可使用標(biāo)準(zhǔn)的Python類(lèi)型創(chuàng)建或指定dtype。另外也可使用前一篇文章中介紹的NumPy提供的數(shù)據(jù)類(lèi)型。

5.ndarray.itemsize:數(shù)組中每個(gè)元素的字節(jié)大小。例如,一個(gè)元素類(lèi)型為float64的數(shù)組itemsiz屬性值為8(float64占用64個(gè)bits,每個(gè)字節(jié)長(zhǎng)度為8,所以64/8,占用8個(gè)字節(jié)),又如,一個(gè)元素類(lèi)型為complex32的數(shù)組item屬性為4(32/8)。

6.ndarray.data:包含實(shí)際數(shù)組元素的緩沖區(qū),由于一般通過(guò)數(shù)組的索引獲取元素,所以通常不需要使用這個(gè)屬性。

數(shù)組拼接方法一

思路:首先將數(shù)組轉(zhuǎn)成列表,然后利用列表的拼接函數(shù)append()、extend()等進(jìn)行拼接處理,最后將列表轉(zhuǎn)成數(shù)組。

示例1:

>>> import numpy as np
>>> a=np.array([1,2,5])
>>> b=np.array([10,12,15])
>>> a_list=list(a)
>>> b_list=list(b)
>>> a_list.extend(b_list)
>>> a_list
[1, 2, 5, 10, 12, 15]
>>> a=np.array(a_list)
>>> a
array([ 1, 2, 5, 10, 12, 15])

該方法只適用于簡(jiǎn)單的一維數(shù)組拼接,由于轉(zhuǎn)換過(guò)程很耗時(shí)間,對(duì)于大量數(shù)據(jù)的拼接一般不建議使用。

數(shù)組拼接方法二

思路:numpy提供了numpy.append(arr,values,axis=None)函數(shù)。對(duì)于參數(shù)規(guī)定,要么一個(gè)數(shù)組和一個(gè)數(shù)值;要么兩個(gè)數(shù)組,不能三個(gè)及以上數(shù)組直接append拼接。append函數(shù)返回的始終是一個(gè)一維數(shù)組。

示例2:

>>> a=np.arange(5)
>>> a
array([0, 1, 2, 3, 4])
>>> np.append(a,10)
array([ 0, 1, 2, 3, 4, 10])
>>> a
array([0, 1, 2, 3, 4])
 
>>> b=np.array([11,22,33])
>>> b
array([11, 22, 33])
>>> np.append(a,b)
array([ 0, 1, 2, 3, 4, 11, 22, 33])
 
>>> a
array([[1, 2, 3],
    [4, 5, 6]])
>>> b=np.array([[7,8,9],[10,11,12]])
>>> b
array([[ 7, 8, 9],
    [10, 11, 12]])
>>> np.append(a,b)
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])

numpy的數(shù)組沒(méi)有動(dòng)態(tài)改變大小的功能,numpy.append()函數(shù)每次都會(huì)重新分配整個(gè)數(shù)組,并把原來(lái)的數(shù)組復(fù)制到新數(shù)組中。

數(shù)組拼接方法三

思路:numpy提供了numpy.concatenate((a1,a2,...),axis=0)函數(shù)。能夠一次完成多個(gè)數(shù)組的拼接。其中a1,a2,...是數(shù)組類(lèi)型的參數(shù)

示例3:

>>> a=np.array([1,2,3])
>>> b=np.array([11,22,33])
>>> c=np.array([44,55,66])
>>> np.concatenate((a,b,c),axis=0) # 默認(rèn)情況下,axis=0可以不寫(xiě)
array([ 1, 2, 3, 11, 22, 33, 44, 55, 66]) #對(duì)于一維數(shù)組拼接,axis的值不影響最后的結(jié)果
 
>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=np.array([[11,21,31],[7,8,9]])
>>> np.concatenate((a,b),axis=0)
array([[ 1, 2, 3],
    [ 4, 5, 6],
    [11, 21, 31],
    [ 7, 8, 9]])
>>> np.concatenate((a,b),axis=1) #axis=1表示對(duì)應(yīng)行的數(shù)組進(jìn)行拼接
array([[ 1, 2, 3, 11, 21, 31],
    [ 4, 5, 6, 7, 8, 9]])

對(duì)numpy.append()和numpy.concatenate()兩個(gè)函數(shù)的運(yùn)行時(shí)間進(jìn)行比較

示例4:

>>> from time import clock as now
>>> a=np.arange(9999)
>>> b=np.arange(9999)
>>> time1=now()
>>> c=np.append(a,b)
>>> time2=now()
>>> print time2-time1
28.2316728446
>>> a=np.arange(9999)
>>> b=np.arange(9999)
>>> time1=now()
>>> c=np.concatenate((a,b),axis=0)
>>> time2=now()
>>> print time2-time1
20.3934997107

可知,concatenate()效率更高,適合大規(guī)模的數(shù)據(jù)拼接

總結(jié)

以上就是本文關(guān)于numpy數(shù)組拼接簡(jiǎn)單示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

淺談numpy數(shù)組的幾種排序方式

Python編程給numpy矩陣添加一列方法示例

Python numpy生成矩陣、串聯(lián)矩陣代碼分享

如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • 11個(gè)Python3字典內(nèi)置方法大全與示例匯總

    11個(gè)Python3字典內(nèi)置方法大全與示例匯總

    這篇文章主要給大家介紹了11個(gè)Python3字典內(nèi)置方法大全與示例的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 詳解如何用Python寫(xiě)個(gè)聽(tīng)小說(shuō)的爬蟲(chóng)

    詳解如何用Python寫(xiě)個(gè)聽(tīng)小說(shuō)的爬蟲(chóng)

    在路上經(jīng)常發(fā)現(xiàn)好多人都喜歡用耳機(jī)聽(tīng)小說(shuō),同事居然可以一整天的帶著一只耳機(jī)聽(tīng)小說(shuō)。本文就用Python爬蟲(chóng)實(shí)現(xiàn)下載聽(tīng)小說(shuō)tingchina.com的音頻,需要的可以參考一下
    2022-02-02
  • 3個(gè)適合新手練習(xí)的python小游戲

    3個(gè)適合新手練習(xí)的python小游戲

    這篇文章主要分析的是3個(gè)適合新手練習(xí)的python小游戲,初學(xué)者嘛就應(yīng)該多練手,下文分享的python小游戲歡迎大家來(lái)玩,需要的小伙伴也可以參考一下
    2022-01-01
  • tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度方式

    tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度方式

    今天小編就為大家分享一篇tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 淺談Python if的高級(jí)功能

    淺談Python if的高級(jí)功能

    本文主要介紹了Python if的高級(jí)功能,包括if xxx、if xxx==xxx和if xxx is xxx的用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • 用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了用python實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • selenium鼠標(biāo)操作實(shí)戰(zhàn)案例詳解

    selenium鼠標(biāo)操作實(shí)戰(zhàn)案例詳解

    在實(shí)際場(chǎng)景中,會(huì)有單擊、長(zhǎng)時(shí)間單擊、雙擊、右鍵、拖拽等鼠標(biāo)操作,selenium提供了名為ActionChains的類(lèi)來(lái)處理這些操作,下面這篇文章主要給大家介紹了關(guān)于selenium鼠標(biāo)操作實(shí)戰(zhàn)案例的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Django項(xiàng)目開(kāi)發(fā)中cookies和session的常用操作分析

    Django項(xiàng)目開(kāi)發(fā)中cookies和session的常用操作分析

    這篇文章主要介紹了Django項(xiàng)目開(kāi)發(fā)中cookies和session的常用操作,結(jié)合實(shí)例形式分析了Django中cookie與session的檢查、設(shè)置、獲取等常用操作技巧,需要的朋友可以參考下
    2018-07-07
  • OpenCV+MediaPipe實(shí)現(xiàn)手部關(guān)鍵點(diǎn)識(shí)別

    OpenCV+MediaPipe實(shí)現(xiàn)手部關(guān)鍵點(diǎn)識(shí)別

    這篇文章主要介紹了如何通過(guò)OpenCV MediaPipe實(shí)現(xiàn)手部關(guān)鍵點(diǎn)識(shí)別,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的價(jià)值,需要的可以參考一下
    2022-01-01
  • Python列表元素的增刪改操作方法

    Python列表元素的增刪改操作方法

    文章介紹了Python中列表的增刪改操作,包括如何使用`append()`、`extend()`、`insert()`方法增加元素,使用`del`、`remove()`、`pop()`方法刪除元素,以及通過(guò)索引修改元素,感興趣的朋友一起看看吧
    2025-02-02

最新評(píng)論

汪清县| 台南市| 滨海县| 宜章县| 兴文县| 武陟县| 阜南县| 南阳市| 包头市| 谢通门县| 保山市| 鹤山市| 麻江县| 兖州市| 明溪县| 石嘴山市| 金阳县| 怀宁县| 新和县| 利津县| 绥江县| 娄烦县| 岳阳县| 聂荣县| 友谊县| 揭东县| 庆元县| 饶平县| 大同市| 华安县| 罗定市| 榆中县| 玉田县| 太仓市| 津市市| 巴塘县| 安义县| 社旗县| 黔江区| 怀来县| 兴城市|