校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 關于Numpy之repeat、tile的用法總結

關于Numpy之repeat、tile的用法總結

熱門標簽:北京電銷外呼系統(tǒng)加盟 朝陽手機外呼系統(tǒng) 所得系統(tǒng)電梯怎樣主板設置外呼 市場上的電銷機器人 儋州電話機器人 地圖標注面積 小蘇云呼電話機器人 佛山400電話辦理 北瀚ai電銷機器人官網(wǎng)手機版

repeat函數(shù)的作用:①擴充數(shù)組元素 ②降低數(shù)組維度

numpy.repeat(a, repeats, axis=None):若axis=None,對于多維數(shù)組而言,可以將多維數(shù)組變化為一維數(shù)組,然后再根據(jù)repeats參數(shù)擴充數(shù)組元素;若axis=M,表示數(shù)組在軸M上擴充數(shù)組元素。

下面以3維數(shù)組為例,了解下repeat函數(shù)的使用方法:

In [1]: import numpy as np 
In [2]: arr = np.arange(12).reshape(1,4,3) 
In [3]: arr
Out[3]:
array([[[ 0,  1,  2],
        [ 3,  4,  5],
        [ 6,  7,  8],
        [ 9, 10, 11]]])

①repeats為整數(shù)N,axis=None:數(shù)組arr首先被扁平化,然后將數(shù)組arr中的各個元素 依次重復N次

In [4]: arr.repeat(2)
Out[4]:
array([ 0,  0,  1,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7,  7,  8,
        8,  9,  9, 10, 10, 11, 11])

②repeats為整數(shù)數(shù)組rp_arr,axis=None:數(shù)組arr首先被扁平化,然后再將數(shù)組arr中元素依次重復對應rp_arr數(shù)組中元素對應次數(shù)。若rp_arr為一個值的一維數(shù)組,則數(shù)組arr中各個元素重復相同次數(shù),否則rp_arr數(shù)組長度必須和數(shù)組arr的長度相等,否則報錯

a:rp_arr為單值一維數(shù)組,進行廣播

In [5]: arr.repeat([2])
Out[5]:
array([ 0,  0,  1,  1,  2,  2,  3,  3,  4,  4,  5,  5,  6,  6,  7,  7,  8,
        8,  9,  9, 10, 10, 11, 11])

b:rp_arr長度小于數(shù)組arr長度,無法進行廣播,報錯

In [6]: arr.repeat([2,3,4])
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
ipython-input-6-d3b52907284c> in module>()
----> 1 arr.repeat([2,3,4])

ValueError: operands could not be broadcast together with shape (12,) (3,)

c:rp_arr長度和數(shù)組arr長度相等

In [7]: arr.repeat(np.arange(12))
Out[7]:
array([ 1,  2,  2,  3,  3,  3,  4,  4,  4,  4,  5,  5,  5,  5,  5,  6,  6,
        6,  6,  6,  6,  7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,
        8,  8,  9,  9,  9,  9,  9,  9,  9,  9,  9, 10, 10, 10, 10, 10, 10,
       10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11])

d:rp_arr長度大于數(shù)組arr長度,也無法廣播,報錯

In [8]: arr.repeat(np.arange(13))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
ipython-input-8-ec8454224d1b> in module>()
----> 1 arr.repeat(np.arange(13))

ValueError: operands could not be broadcast together with shape (12,) (13,)

結論:兩個數(shù)組滿足廣播的條件是兩個數(shù)組的后緣維度(即從末尾開始算起的維度)的軸長度相等或其中一方的長度為1

③repeats為整數(shù)N,axis=M:數(shù)組arr的軸M上的每個元素重復N次,M=-1代表最后一條軸

In [9]: arr.repeat(2,axis=0)
Out[9]:
array([[[ 0,  1,  2],
        [ 3,  4,  5],
        [ 6,  7,  8],
        [ 9, 10, 11]],
 
       [[ 0,  1,  2],
        [ 3,  4,  5],
        [ 6,  7,  8],
        [ 9, 10, 11]]])
In [12]: arr.repeat(2,axis=-1)#arr.repeat(2,axis=-1)等同于arr.repeat(2,axis=2)
Out[12]:
array([[[ 0,  0,  1,  1,  2,  2],
        [ 3,  3,  4,  4,  5,  5],
        [ 6,  6,  7,  7,  8,  8],
        [ 9,  9, 10, 10, 11, 11]]])

④repeats為整數(shù)數(shù)組rp_arr,axis=M:把數(shù)組arr1軸M上的元素依次重復對應rp_arr數(shù)組中元素對應次數(shù)。若rp_arr為一個值的一維數(shù)組,則數(shù)組arr1軸M上的各個元素重復相同次數(shù),否則rp_arr數(shù)組長度必須和數(shù)組arr1軸M的長度相等,否則報錯

a:rp_arr長度和數(shù)組arr1軸M上長度相等

在軸0上擴充數(shù)組元素

In [13]: arr1 = np.arange(24).reshape(4,2,3) 
In [14]: arr1
Out[14]:
array([[[ 0,  1,  2],
        [ 3,  4,  5]],
 
       [[ 6,  7,  8],
        [ 9, 10, 11]],
 
       [[12, 13, 14],
        [15, 16, 17]],
 
       [[18, 19, 20],
        [21, 22, 23]]])
 
In [15]: arr1.repeat((1,2,3,4),axis=0)
Out[15]:
array([[[ 0,  1,  2],
        [ 3,  4,  5]],
 
       [[ 6,  7,  8],
        [ 9, 10, 11]],
 
       [[ 6,  7,  8],
        [ 9, 10, 11]],
 
       [[12, 13, 14],
        [15, 16, 17]],
 
       [[12, 13, 14],
        [15, 16, 17]],
 
       [[12, 13, 14],
        [15, 16, 17]],
 
       [[18, 19, 20],
        [21, 22, 23]],
 
       [[18, 19, 20],
        [21, 22, 23]],
 
       [[18, 19, 20],
        [21, 22, 23]],
 
       [[18, 19, 20],
        [21, 22, 23]]])

在軸1上擴充數(shù)組元素

In [19]: arr1.repeat([1,2],axis=1)
Out[19]:
array([[[ 0,  1,  2],
        [ 3,  4,  5],
        [ 3,  4,  5]],
 
       [[ 6,  7,  8],
        [ 9, 10, 11],
        [ 9, 10, 11]],
 
       [[12, 13, 14],
        [15, 16, 17],
        [15, 16, 17]],
 
       [[18, 19, 20],
        [21, 22, 23],
        [21, 22, 23]]])

b:rp_arr為單值數(shù)組時,進行廣播

In [20]: arr1.repeat([2],axis=0)
Out[20]:
array([[[ 0,  1,  2],
        [ 3,  4,  5]],
 
       [[ 0,  1,  2],
        [ 3,  4,  5]],
 
       [[ 6,  7,  8],
        [ 9, 10, 11]],
 
       [[ 6,  7,  8],
        [ 9, 10, 11]],
 
       [[12, 13, 14],
        [15, 16, 17]],
 
       [[12, 13, 14],
        [15, 16, 17]],
 
       [[18, 19, 20],
        [21, 22, 23]],
 
       [[18, 19, 20],
        [21, 22, 23]]])

c:rp_arr和數(shù)組arr1某軸不滿足廣播條件,則報錯

In [21]: arr1.repeat((1,2,3),axis=0)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
ipython-input-21-8ae4dc97e410> in module>()
----> 1 arr1.repeat((1,2,3),axis=0)

ValueError: operands could not be broadcast together with shape (4,) (3,)

tile函數(shù)兩個作用:①擴充數(shù)組元素 ②提升數(shù)組維度

numpy.tile(A, reps):根據(jù)reps中元素擴充數(shù)組A中對應軸上的元素

①reps為整數(shù)N:可以把整數(shù)N理解成含一個元素N的序列reps,若數(shù)組.ndim大于reps序列的長度,則需在reps序列的索引為0的位置開始添加元素1,直到reps的長度和數(shù)組的維度數(shù)相等,然后數(shù)組各軸上的元素依次重復reps序列中元素對應的次數(shù)

對于一維數(shù)組而言:是整體數(shù)組重復N次,從數(shù)組的最后一位置開始重復,注意與repeat函數(shù)的區(qū)別

In [26]: arr3 = np.arange(4) 
In [27]: arr3
Out[27]: array([0, 1, 2, 3]) 
In [28]: np.tile(arr3,2)
Out[28]: array([0, 1, 2, 3, 0, 1, 2, 3])

對多維數(shù)組而言:arr2.ndim=3,,reps=[2,],可以看出數(shù)組的長度大于序列reps的長度,因此需要向reps中添加元素,變成reps=[1,1,2],然后arr2數(shù)組再根據(jù)reps中的元素重復其對應軸上的元素,reps=[1,1,2]代表數(shù)組arr2在軸0上各個元素重復1次,在軸1上的各個元素重復1次,在軸1上的各個元素重復2次

In [29]: arr2 = np.arange(24).reshape(4,2,3) 
In [30]: arr2
Out[30]:
array([[[ 0,  1,  2],
        [ 3,  4,  5]],
 
       [[ 6,  7,  8],
        [ 9, 10, 11]],
 
       [[12, 13, 14],
        [15, 16, 17]],
 
       [[18, 19, 20],
        [21, 22, 23]]])
 
In [31]: np.tile(arr2,2)
Out[31]:
array([[[ 0,  1,  2,  0,  1,  2],
        [ 3,  4,  5,  3,  4,  5]],
 
       [[ 6,  7,  8,  6,  7,  8],
        [ 9, 10, 11,  9, 10, 11]],
 
       [[12, 13, 14, 12, 13, 14],
        [15, 16, 17, 15, 16, 17]],
 
       [[18, 19, 20, 18, 19, 20],
        [21, 22, 23, 21, 22, 23]]])

②reps為整數(shù)序列rp_arr:若數(shù)組.ndim大于rp_arr長度,方法同①相同,若數(shù)組ndim小于rp_arr長度,則需在數(shù)組的首緣維添加新軸,直到數(shù)組的維度數(shù)和rp_arr長度相等,然后數(shù)組各軸上的元素依次重復reps序列中元素對應的次數(shù)

a:數(shù)組維度大于rp_arr長度:需rp_arr提升為(1,2,3)

In [33]: arr2 = np.arange(24).reshape(4,2,3) 
In [34]: arr2
Out[34]:
array([[[ 0,  1,  2],
        [ 3,  4,  5]],
 
       [[ 6,  7,  8],
        [ 9, 10, 11]],
 
       [[12, 13, 14],
        [15, 16, 17]],
 
       [[18, 19, 20],
        [21, 22, 23]]])
 
In [35]: np.tile(arr2,(2,3))
Out[35]:
array([[[ 0,  1,  2,  0,  1,  2,  0,  1,  2],
        [ 3,  4,  5,  3,  4,  5,  3,  4,  5],
        [ 0,  1,  2,  0,  1,  2,  0,  1,  2],
        [ 3,  4,  5,  3,  4,  5,  3,  4,  5]],
 
       [[ 6,  7,  8,  6,  7,  8,  6,  7,  8],
        [ 9, 10, 11,  9, 10, 11,  9, 10, 11],
        [ 6,  7,  8,  6,  7,  8,  6,  7,  8],
        [ 9, 10, 11,  9, 10, 11,  9, 10, 11]],
 
       [[12, 13, 14, 12, 13, 14, 12, 13, 14],
        [15, 16, 17, 15, 16, 17, 15, 16, 17],
        [12, 13, 14, 12, 13, 14, 12, 13, 14],
        [15, 16, 17, 15, 16, 17, 15, 16, 17]],
 
       [[18, 19, 20, 18, 19, 20, 18, 19, 20],
        [21, 22, 23, 21, 22, 23, 21, 22, 23],
        [18, 19, 20, 18, 19, 20, 18, 19, 20],
        [21, 22, 23, 21, 22, 23, 21, 22, 23]]])

b:數(shù)組的維度小于rp_arr的長度:需在數(shù)組的首緣維度新增加一條軸,使其shape變?yōu)?1,4,2,3)

In [36]: np.tile(arr2,(2,1,1,3))
Out[36]:
array([[[[ 0,  1,  2,  0,  1,  2,  0,  1,  2],
         [ 3,  4,  5,  3,  4,  5,  3,  4,  5]],
 
        [[ 6,  7,  8,  6,  7,  8,  6,  7,  8],
         [ 9, 10, 11,  9, 10, 11,  9, 10, 11]],
 
        [[12, 13, 14, 12, 13, 14, 12, 13, 14],
         [15, 16, 17, 15, 16, 17, 15, 16, 17]],
 
        [[18, 19, 20, 18, 19, 20, 18, 19, 20],
         [21, 22, 23, 21, 22, 23, 21, 22, 23]]],
 
 
       [[[ 0,  1,  2,  0,  1,  2,  0,  1,  2],
         [ 3,  4,  5,  3,  4,  5,  3,  4,  5]],
 
        [[ 6,  7,  8,  6,  7,  8,  6,  7,  8],
         [ 9, 10, 11,  9, 10, 11,  9, 10, 11]],
 
        [[12, 13, 14, 12, 13, 14, 12, 13, 14],
         [15, 16, 17, 15, 16, 17, 15, 16, 17]],
 
        [[18, 19, 20, 18, 19, 20, 18, 19, 20],
         [21, 22, 23, 21, 22, 23, 21, 22, 23]]]])

numpy的repeat和tile 用來復制數(shù)組

repeat和tile都可以用來復制數(shù)組的,但是有一些區(qū)別

關鍵區(qū)別在于repeat是對于元素的復制,tile是以整個數(shù)組為單位的 ,repeat復制時元素依次復制,注意不要用錯,區(qū)別類似于[1,1,2,2]和[1,2,1,2]

repeat

用法

np.repeat(a, repeats, axis=None)

重復復制數(shù)組a的元素,元素的定義與axis有關,axis不指定時,數(shù)組會被展開進行復制,每個元素就是一個值,指定axis時,就是aixis指定維度上的一個元素

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

不指定axis,默認None,這時候數(shù)組會被展開成1維,再進行復制

np.repeat(a, 2)  # 所有元素依次復制相同的次數(shù)


參數(shù)是列表

np.repeat(a, [1, 2, 1, 2])  # 如果第二個參數(shù)是列表,列表長度必須和a的復制可選元素數(shù)目相等,這里都是4

指定axis

指定時,就是指定了復制元素沿的維度,這時候就不會把數(shù)組展平,會維持原來的維度數(shù)

np.repeat(a, 2,  axi=0)  # 所有沿著0維的元素依次復制相同的次數(shù)

np.repeat(a, [1, 2], axis=1)  # 第二個參數(shù)是列表,列表長度必須和a的復制可選元素數(shù)目相等,這里是2

結果如下,復制元素從第1維度算,可以看到第一列被復制了一次,第二列被復制了兩次

tile

用法

np.tile(a, repeats)

復制數(shù)組,repeats可以是整數(shù)或者元組、數(shù)組

repeats是整數(shù)

示例如下,它會將數(shù)組復制兩份,并且在最后一維將兩個元素疊加在一起,數(shù)組的維數(shù)不變,最后一維根據(jù)復制次數(shù)加倍

repeats是列表或元組

如果列表長度是1,和整數(shù)時相同。

列表長度不為1時,列表從后向前看,最后一項是2,所以復制兩個數(shù)組,在最后一維進行疊加,倒數(shù)第二項是3,將前步的結果進行復制,并在倒數(shù)第二維,結果如下

當列表的長度超過數(shù)組的維數(shù)時,和前面類似,從后向前復制,復制結果會增加維度與列表的維數(shù)匹配,結果如下,在上面的基礎上,增加了一維

復制結果的shape

但是對于 簡單的單個數(shù)組重復,個人更喜歡使用stack和concatenate將同一個數(shù)組堆疊起來

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Python Numpy數(shù)組擴展repeat和tile使用實例解析
  • python3中numpy函數(shù)tile的用法詳解
  • python numpy數(shù)組中的復制知識解析

標簽:定西 商丘 云南 酒泉 龍巖 寧夏 金融催收 江蘇

巨人網(wǎng)絡通訊聲明:本文標題《關于Numpy之repeat、tile的用法總結》,本文關鍵詞  關于,Numpy,之,repeat,tile,的,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于Numpy之repeat、tile的用法總結》相關的同類信息!
  • 本頁收集關于關于Numpy之repeat、tile的用法總結的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    老司机精品视频线观看86| 亚洲国产精品一区二区www在线| 欧美福利一区二区| 91福利视频在线| 精品视频资源站| 欧美猛男男办公室激情| 91精品在线麻豆| 欧美一级日韩不卡播放免费| 欧美一级在线免费| 欧美mv日韩mv国产网站app| 精品盗摄一区二区三区| 久久久精品tv| 综合电影一区二区三区 | 日韩精品久久久久久| 亚洲成人激情社区| 久久不见久久见免费视频7| 豆国产96在线|亚洲| 9人人澡人人爽人人精品| 色婷婷综合久久久久中文一区二区| 色香蕉成人二区免费| 911精品产国品一二三产区| 国产高清亚洲一区| xfplay精品久久| 久久精品人人做人人爽97| 国产婷婷色一区二区三区四区 | 免费高清视频精品| 精品在线播放免费| av在线不卡电影| 宅男在线国产精品| 久久精品亚洲乱码伦伦中文| 日韩美女精品在线| 蜜臀va亚洲va欧美va天堂| 高清不卡在线观看av| 欧美日韩精品是欧美日韩精品| 欧美成人猛片aaaaaaa| 国产精品久久夜| 青青草成人在线观看| 不卡一二三区首页| 欧美一级高清片| 成人欧美一区二区三区1314| 日韩精品国产精品| 91美女视频网站| 精品国产1区2区3区| 亚洲激情自拍视频| 欧美在线观看禁18| 精品乱码亚洲一区二区不卡| 亚洲欧美日韩国产综合| 国产乱国产乱300精品| 欧美日韩国产综合一区二区 | 欧美高清精品3d| 国产精品女同一区二区三区| 亚洲成av人在线观看| 白白色 亚洲乱淫| 欧美精品一区二区三区蜜臀| 亚洲成人av一区二区| 97久久精品人人澡人人爽| 久久久亚洲欧洲日产国码αv| 一卡二卡欧美日韩| 不卡的av在线播放| 国产偷国产偷亚洲高清人白洁| 麻豆中文一区二区| 欧美日韩视频在线第一区| 亚洲人成在线播放网站岛国 | 日韩美女久久久| 国产超碰在线一区| 久久久噜噜噜久久人人看 | 久久精品欧美一区二区三区不卡| 三级影片在线观看欧美日韩一区二区| 97久久精品人人做人人爽| 国产欧美1区2区3区| 国产精品系列在线播放| 2024国产精品| 国产一区二区三区电影在线观看| 日韩一级二级三级| 免费观看日韩av| 日韩欧美中文一区| 精品一区二区在线视频| 91精品国产一区二区三区香蕉| 午夜伊人狠狠久久| 欧美日产在线观看| 蜜臀av性久久久久蜜臀aⅴ| 337p亚洲精品色噜噜噜| 日韩影视精彩在线| 91精品国产福利在线观看| 秋霞国产午夜精品免费视频| 日韩午夜在线观看视频| 丰满少妇久久久久久久| 一区精品在线播放| 91网站在线播放| 无码av免费一区二区三区试看| 欧美日韩在线观看一区二区 | 国产成人精品三级麻豆| 国产精品国产自产拍在线| 91小视频在线观看| 一区二区三区在线看| 欧美年轻男男videosbes| 奇米影视一区二区三区小说| 精品卡一卡二卡三卡四在线| 国产精一品亚洲二区在线视频| 中文字幕乱码亚洲精品一区| 日本韩国欧美三级| 日产精品久久久久久久性色| 欧美精品一区二区三区蜜桃视频| 粉嫩高潮美女一区二区三区| 一区二区三区欧美亚洲| 91精品麻豆日日躁夜夜躁| 国产一区二区三区四区五区入口| 亚洲国产精品传媒在线观看| 欧美影片第一页| 久久www免费人成看片高清| 国产午夜精品美女毛片视频| 欧美性猛片aaaaaaa做受| 黑人巨大精品欧美黑白配亚洲| 国产丝袜在线精品| 欧美蜜桃一区二区三区| 国产91精品一区二区麻豆网站 | 蜜乳av一区二区| 国产精品福利一区| 日韩欧美一二三区| 色综合天天综合在线视频| 蜜臀99久久精品久久久久久软件| 亚洲视频电影在线| 久久中文娱乐网| 在线不卡中文字幕播放| www.性欧美| 国产精品 欧美精品| 日本欧美在线看| 怡红院av一区二区三区| 国产日韩欧美高清| 日韩一区二区电影在线| 欧美午夜精品免费| 9久草视频在线视频精品| 国产在线麻豆精品观看| 午夜日韩在线电影| 亚洲欧洲综合另类| 欧美国产视频在线| 久久综合99re88久久爱| 欧美一区二区免费观在线| 色哟哟一区二区三区| 成人国产免费视频| 国产福利不卡视频| 另类小说欧美激情| 免费观看一级特黄欧美大片| 午夜亚洲国产au精品一区二区| 亚洲精品国产一区二区精华液| 国产精品精品国产色婷婷| 中文字幕精品三区| 中文子幕无线码一区tr| 国产日韩欧美电影| 亚洲摸摸操操av| 亚洲欧洲日韩av| 日韩一区在线免费观看| 亚洲国产精品成人综合| 国产精品天干天干在线综合| 国产偷国产偷亚洲高清人白洁| 久久亚洲一区二区三区明星换脸| 日韩精品一区二区三区在线播放| 欧美一区二区成人6969| 在线不卡的av| 日韩一区二区三区av| 日韩一区和二区| 久久影院午夜论| 国产日韩av一区二区| 欧美激情综合在线| 亚洲精品久久久蜜桃| 亚洲mv在线观看| 日韩电影免费在线看| 国产一区在线观看视频| 成人丝袜18视频在线观看| 不卡的av中国片| 欧美狂野另类xxxxoooo| 日韩欧美国产高清| 国产亚洲一二三区| 国产精品久久久久久久久免费桃花 | 亚洲色图视频免费播放| 亚洲美女一区二区三区| 婷婷久久综合九色综合伊人色| 麻豆精品国产传媒mv男同| 国产不卡视频在线观看| 色综合久久久久久久久| 欧美日韩国产小视频在线观看| 日韩欧美亚洲一区二区| 国产精品灌醉下药二区| 亚洲成人动漫在线免费观看| 国产乱色国产精品免费视频| 97久久超碰国产精品| 91精品国产综合久久福利软件 | 色综合天天综合给合国产| 欧美日韩国产一二三| 国产亚洲一区二区三区在线观看| 一区二区三区精品视频在线| 日本不卡一区二区三区| 不卡一二三区首页| 日韩视频一区在线观看| 亚洲精选免费视频| 国内精品国产成人国产三级粉色| 一本色道**综合亚洲精品蜜桃冫| 精品国产欧美一区二区| 亚洲综合精品自拍| 国产成人aaaa|