溫馨提示×

溫馨提示×

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

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

numpy數(shù)組坐標軸問題如何解決

發(fā)布時間:2023-03-13 10:55:18 來源:億速云 閱讀:106 作者:iii 欄目:開發(fā)技術(shù)

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

首先我們討論一維的情況,代碼如下:

import numpy as np


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

    def mainProgram(self):
        print("The value of array1 is: ")
        print(self.array1)
        print("The shape of array1 is: ")
        print(self.array1.shape)
        print("The value of array2 is: ")
        print(self.array2)
        print("The shape of array2 is: ")
        print(self.array2.shape)


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

從上面的結(jié)果我們可以看到,一維橫數(shù)組沿著橫向排列,我們可以認定為x軸向,它的數(shù)組大小為(3,),一維列數(shù)組沿著縱向排列,我們可以認為是y軸方向,它的大小為(3, 1),我們可以從左向右,看出第二個參數(shù)代表的是橫向上的參數(shù)個數(shù),第一個參數(shù)代表的是縱向上的參數(shù)個數(shù),因此我們可以將橫向數(shù)組的大小(3,)理解為(,3)更為合適。

接下來我們研究一下二維數(shù)組,哪個參數(shù)對應(yīng)的是橫坐標,哪個參數(shù)對應(yīng)的是縱坐標。
代碼如下:

import numpy as np


class Debug:
    def __init__(self):
        self.array1 = np.ones((2, 3))
        self.array2 = np.ones((3, 2))

    def mainProgram(self):
        print("The value of array1 is: ")
        print(self.array1)
         print("The shape of array1 is: ")
        print(self.array1.shape)
        print("The value of array2 is: ")
        print(self.array2)
        print("The shape of array2 is: ")
        print(self.array2.shape)


if __name__ == '__main__':
    main = Debug()
    main.mainProgram()

"""
The value of array1 is: 
[[1. 1. 1.]
 [1. 1. 1.]]
The shape of array1 is: 
(2, 3)
The value of array2 is: 
[[1. 1.]
 [1. 1.]
 [1. 1.]]
The shape of array2 is: 
(3, 2)
"""

從上面的結(jié)果我們可以看出,從左向右,第一個參數(shù)代表的是(row), 第二個參數(shù)代表的是列(column)。我們知道numpy中默認的是笛卡爾坐標系,所以橫向為x,縱向為y,具體的請看坐標系(超鏈接點擊跳轉(zhuǎn)查看)。所以對self.array1來說,定義時輸入的數(shù)組大小的(2, 3)代表沿著x軸擁有3個值,沿著y軸擁有2個值。對比上述得到的結(jié)果與我們在一維情況中推斷得到的結(jié)果,證明我們的理解是正確的。

接著我們討論三維的情況:代碼如下:

import numpy as np


class Debug:
    def __init__(self):
        self.array1 = np.ones((2, 3, 4))

    def mainProgram(self):
        print("The value of array1 is: ")
        print(self.array1)
        print("The shape of array1 is: ")
        print(self.array1.shape)


if __name__ == '__main__':
    main = Debug()
    main.mainProgram()


"""
The value of array1 is: 
[[[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]

 [[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]]
The shape of array1 is: 
(2, 3, 4)
"""

不難發(fā)現(xiàn),沿著x軸方向擁有4個值,沿著y軸方向擁有3個值,沿著z軸方向擁有2個值。

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

向AI問一下細節(jié)

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

AI