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

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

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

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

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

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

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

關于NumPy數(shù)組有幾點必需了解的:

·NumPy數(shù)組的下標從0開始。

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

NumPy數(shù)組屬性

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

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

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

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

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

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

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

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

數(shù)組拼接方法一

思路:首先將數(shù)組轉成列表,然后利用列表的拼接函數(shù)append()、extend()等進行拼接處理,最后將列表轉成數(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])

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

數(shù)組拼接方法二

思路:numpy提供了numpy.append(arr,values,axis=None)函數(shù)。對于參數(shù)規(guī)定,要么一個數(shù)組和一個數(shù)值;要么兩個數(shù)組,不能三個及以上數(shù)組直接append拼接。append函數(shù)返回的始終是一個一維數(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ù)組沒有動態(tài)改變大小的功能,numpy.append()函數(shù)每次都會重新分配整個數(shù)組,并把原來的數(shù)組復制到新數(shù)組中。

數(shù)組拼接方法三

思路:numpy提供了numpy.concatenate((a1,a2,...),axis=0)函數(shù)。能夠一次完成多個數(shù)組的拼接。其中a1,a2,...是數(shù)組類型的參數(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) # 默認情況下,axis=0可以不寫
array([ 1, 2, 3, 11, 22, 33, 44, 55, 66]) #對于一維數(shù)組拼接,axis的值不影響最后的結果
 
>>> 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表示對應行的數(shù)組進行拼接
array([[ 1, 2, 3, 11, 21, 31],
    [ 4, 5, 6, 7, 8, 9]])

對numpy.append()和numpy.concatenate()兩個函數(shù)的運行時間進行比較

示例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ù)拼接

總結

以上就是本文關于numpy數(shù)組拼接簡單示例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

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

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

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

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

相關文章

  • 11個Python3字典內置方法大全與示例匯總

    11個Python3字典內置方法大全與示例匯總

    這篇文章主要給大家介紹了11個Python3字典內置方法大全與示例的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • 詳解如何用Python寫個聽小說的爬蟲

    詳解如何用Python寫個聽小說的爬蟲

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

    3個適合新手練習的python小游戲

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

    tensorflow 利用expand_dims和squeeze擴展和壓縮tensor維度方式

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

    淺談Python if的高級功能

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

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

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

    selenium鼠標操作實戰(zhàn)案例詳解

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

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

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

    OpenCV+MediaPipe實現(xiàn)手部關鍵點識別

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

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

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

最新評論

睢宁县| 馆陶县| 武胜县| 郁南县| 循化| 广南县| 双城市| 宣汉县| 泸溪县| 邹平县| 炉霍县| 吉木乃县| 龙井市| 奉节县| 徐州市| 绍兴市| 嘉定区| 通山县| 于都县| 招远市| 崇左市| 黄梅县| 平度市| 罗城| 内丘县| 苗栗市| 县级市| 高要市| 清流县| 敖汉旗| 徐水县| 安多县| 合阳县| 雷州市| 东乌珠穆沁旗| 昆山市| 西平县| 来宾市| 鄯善县| 三门峡市| 南木林县|