溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

np.repeat()函數(shù)如何使用

發(fā)布時(shí)間:2023-03-13 10:32:09 來(lái)源:億速云 閱讀:97 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容介紹了“np.repeat()函數(shù)如何使用”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

使用np.repeat()展平二維數(shù)組

代碼如下:

import numpy as np


class Debug:
    def __init__(self):
        self.array1 = np.array([[1, 2], [3, 4]])

    def mainProgram(self):
        print("The value of array1 is: ")
        print(self.array1)
        print("The repeated array is: ")
        array2 = np.repeat(self.array1, repeats=1)
        print(array2)


if __name__ == '__main__':
    main = Debug()
    main.mainProgram()
"""
The value of array1 is: 
[[1 2]
 [3 4]]
The repeated array is: 
[1 2 3 4]
"""

我們可以看到我們輸入的是一個(gè)二維數(shù)組,當(dāng)我們?cè)O(shè)定 repeats 值為 1 時(shí),輸出結(jié)果變成了一個(gè)一維數(shù)組,因此這時(shí)的 np.repeats 函數(shù)類(lèi)似numpy.ndarray.flatten()函數(shù)的功能。

np.repeat()函數(shù)的坐標(biāo)軸問(wèn)題

接下來(lái)我們研究一下關(guān)于 axis 坐標(biāo)軸的問(wèn)題。

二維

對(duì)于數(shù)組是二維的情況,代碼如下:

import numpy as np


class Debug:
    def __init__(self):
        self.array1 = np.array([[1, 2], [3, 4]])

    def mainProgram(self):
        print("The value of array1 is: ")
        print(self.array1)
        print("The array2 is: ")
        array2 = np.repeat(self.array1, repeats=2, axis=0)
        print(array2)
        print("The array3 is: ")
        array3 = np.repeat(self.array1, repeats=2, axis=1)
        print(array3)


if __name__ == '__main__':
    main = Debug()
    main.mainProgram()
"""
The value of array1 is: 
[[1 2]
 [3 4]]
The array2 is: 
[[1 2]
 [1 2]
 [3 4]
 [3 4]]
The array3 is: 
[[1 1 2 2]
 [3 3 4 4]]
"""

我們可以看到,axis=0 時(shí)表示沿著y方向重復(fù),axis=1 時(shí)表示沿著x方向重復(fù)。我們可以對(duì)比numpy數(shù)組的坐標(biāo)軸表示,二維時(shí),坐標(biāo)軸為 (y, x),從左向右第一個(gè)參數(shù) 0 便代表 y 軸,1 代表 x軸。

三維

接下來(lái)我們研究一下數(shù)組是三維的情況,代碼如下:

import numpy as np


class Debug:
    def __init__(self):
        self.array1 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

    def mainProgram(self):
        print("The value of array1 is: ")
        print(self.array1)
        print("The array2 is: ")
        array2 = np.repeat(self.array1, repeats=2, axis=0)
        print(array2)
        print("The array3 is: ")
        array3 = np.repeat(self.array1, repeats=2, axis=1)
        print(array3)
        print("The array4 is: ")
        array4 = np.repeat(self.array1, repeats=2, axis=2)
        print(array4)


if __name__ == '__main__':
    main = Debug()
    main.mainProgram()
"""
The value of array1 is: 
[[[1 2]
  [3 4]]

 [[5 6]
  [7 8]]]
The array2 is: 
[[[1 2]
  [3 4]]

 [[1 2]
  [3 4]]

 [[5 6]
  [7 8]]

 [[5 6]
  [7 8]]]
The array3 is: 
[[[1 2]
  [1 2]
  [3 4]
  [3 4]]

 [[5 6]
  [5 6]
  [7 8]
  [7 8]]]
The array4 is: 
[[[1 1 2 2]
  [3 3 4 4]]

 [[5 5 6 6]
  [7 7 8 8]]]
"""

我們可以看到,axis=0 對(duì)應(yīng)與沿著z軸重復(fù),axis=1 對(duì)應(yīng)沿著y軸重復(fù),axis=2 對(duì)應(yīng)沿著x軸重復(fù)。對(duì)比numpy坐標(biāo)軸的表示,我們知道三維坐標(biāo)軸為 (z, y, x),所以從左向右,0 對(duì)應(yīng)z軸,1 對(duì)應(yīng) y軸,2 對(duì)應(yīng) x 軸。

“np.repeat()函數(shù)如何使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI