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

np.meshgrid中的indexing參數(shù)問題解決

 更新時間:2023年03月13日 09:21:38   作者:勤奮的大熊貓  
本文主要介紹了np.meshgrid中的indexing參數(shù)問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

meshgrid函數(shù)在二維空間中可以簡單地理解為將x軸與y軸的每個位置的坐標(biāo)關(guān)聯(lián)起來形成了一個網(wǎng)格,我們知道空間中的點(diǎn)是由坐標(biāo)確定的,因此,當(dāng)x與y關(guān)聯(lián)起來后,我們便可以給與某個點(diǎn)某個特定值并畫出對應(yīng)的圖像。具體的可以百度一下,會有很多較為詳細(xì)的介紹。

這里我想要著重的說一下二維以及三維的meshgrid的參數(shù)indexing的問題。

二維meshgrid函數(shù)

import numpy as np


class Debug:
    def __init__(self):
        self.x = np.arange(5)
        self.y = np.arange(5)
        
    def grid(self):
        X, Y = np.meshgrid(self.x, self.y, indexing="xy")
        return X, Y
    

main = Debug()
X, Y = main.grid()
print("The X grid is:")
print(X)
print("The Y grid is:")
print(Y)
"""
The X grid is:
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]
The Y grid is:
[[0 0 0 0 0]
 [1 1 1 1 1]
 [2 2 2 2 2]
 [3 3 3 3 3]
 [4 4 4 4 4]]
"""

從上面的結(jié)果可以看出,所獲取的網(wǎng)格對應(yīng)如下圖所示,橫向為x軸,縱向為y軸,類似于我們在幾何空間中使用的坐標(biāo)系, 我們通常稱之為笛卡爾坐標(biāo)系(Cartesian coordinate)。在二維meshgrid網(wǎng)格創(chuàng)建命令中,笛卡爾坐標(biāo)系是默認(rèn)的坐標(biāo)系。

在這里插入圖片描述

然而在python編程中,還有一種較為常用的indexing取法,代碼如下:

import numpy as np


class Debug:
    def __init__(self):
        self.x = np.arange(5)
        self.y = np.arange(5)
        
    def grid(self):
        X, Y = np.meshgrid(self.x, self.y, indexing="ij")
        return X, Y
    

main = Debug()
i, j = main.grid()
print("The i grid is:")
print(i)
print("The j grid is:")
print(j)
"""
The i grid is:
[[0 0 0 0 0]
 [1 1 1 1 1]
 [2 2 2 2 2]
 [3 3 3 3 3]
 [4 4 4 4 4]]
The j grid is:
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]
"""

此時從上面的結(jié)果我們可以看出,所獲取的網(wǎng)格對應(yīng)如下圖所示,縱向為i軸,橫向為j軸,我們在編程中通常很少使用的這種坐標(biāo)系。但是它也有自己的優(yōu)勢,這里不進(jìn)一步說明。

在這里插入圖片描述

三維meshgrid函數(shù)

進(jìn)一步我們討論三維的情況,代碼如下:

import numpy as np


class Debug:
    def __init__(self):
        self.x = np.arange(3)
        self.y = np.arange(3)
        self.z = np.arange(3)
        
    def grid(self):
        X, Y, Z = np.meshgrid(self.x, self.y, self.z)
        return X, Y, Z
    

main = Debug()
X, Y, Z = main.grid()
print("The X grid is:")
print(X)
print("The Y grid is:")
print(Y)
print("The Z grid is:")
print(Z)
"""
The X grid is:
[[[0 0 0]
  [1 1 1]
  [2 2 2]]

 [[0 0 0]
  [1 1 1]
  [2 2 2]]

 [[0 0 0]
  [1 1 1]
  [2 2 2]]]
The Y grid is:
[[[0 0 0]
  [0 0 0]
  [0 0 0]]

 [[1 1 1]
  [1 1 1]
  [1 1 1]]

 [[2 2 2]
  [2 2 2]
  [2 2 2]]]
The Z grid is:
[[[0 1 2]
  [0 1 2]
  [0 1 2]]

 [[0 1 2]
  [0 1 2]
  [0 1 2]]

 [[0 1 2]
  [0 1 2]
  [0 1 2]]]
"""

由上面的結(jié)果我們可以看到,此時的坐標(biāo)軸對應(yīng)如下圖像:

在這里插入圖片描述

x軸向下,y軸向屏幕內(nèi)側(cè),z軸向右側(cè),在三維圖像中不再根據(jù)indexing值來區(qū)分坐標(biāo)軸了,而是統(tǒng)一規(guī)定了坐標(biāo)軸的取法,只有對于這個坐標(biāo)軸的取法深入理解,才能在之后的三維數(shù)據(jù)處理中游刃有余。

特別說明

但是這里有一個問題,來看一組代碼:

class Debug:
    def __init__(self):
        x = np.array([[[0],
                       [2]], [[4],
                              [6]], [[8],
                                     [10]]])
        print(x.shape)


main = Debug()
"""
(3, 2, 1)
"""

我們可以看到,輸出結(jié)果為(3, 2, 1),即沿著x1個元素,沿著y2個元素,沿著z3個元素。再來看一下我們使用meshgrid方法生成三維網(wǎng)格的情況。

import numpy as np


class Debug:
    def __init__(self):
        self.x = np.arange(1)
        self.y = np.arange(2)
        self.z = np.arange(3)

    def grid(self):
        X, Y, Z = np.meshgrid(self.x, self.y, self.z)
        return X, Y, Z


main = Debug()
X, Y, Z = main.grid()
print("The X grid is:")
print(X.shape)
print("The Y grid is:")
print(Y.shape)
print("The Z grid is:")
print(Z.shape)
"""
The X grid is:
(2, 1, 3)
The Y grid is:
(2, 1, 3)
The Z grid is:
(2, 1, 3)
"""

我們可以看到,最終輸出的X,Y,Zshape均為(2, 1, 3),這對應(yīng)的是沿著x3個元素,沿著y1個元素,沿著z2個元素。突然感覺有些混亂,不符合我們之前想要得到的x,y,z的排列順序,為了能夠得到正常的排列順序,我們可以使用如下代碼:

import numpy as np


class Debug:
    def __init__(self):
        self.x = np.arange(1)
        self.y = np.arange(2)
        self.z = np.arange(3)

    def grid(self):
        X, Y, Z = np.meshgrid(self.y, self.z, self.x)
        return X, Y, Z


main = Debug()
X, Y, Z = main.grid()
print("The X grid is:")
print(X.shape)
print("The Y grid is:")
print(Y.shape)
print("The Z grid is:")
print(Z.shape)
"""
The X grid is:
(3, 2, 1)
The Y grid is:
(3, 2, 1)
The Z grid is:
(3, 2, 1)
"""

可以看到運(yùn)行后我們得到了符合Python默認(rèn)坐標(biāo)軸習(xí)慣的網(wǎng)格形式,這時對應(yīng)的x軸向右側(cè),y軸向下,z軸向屏幕里面。這個僅僅是為了理解需要,實(shí)際操作中無需進(jìn)行這種坐標(biāo)軸變換操作,直接使用默認(rèn)的三維坐標(biāo)軸方向即可。

到此這篇關(guān)于np.meshgrid中的indexing參數(shù)問題解決的文章就介紹到這了,更多相關(guān)np.meshgrid的indexing參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PyTorch中的squeeze()和unsqueeze()解析與應(yīng)用案例

    PyTorch中的squeeze()和unsqueeze()解析與應(yīng)用案例

    這篇文章主要介紹了PyTorch中的squeeze()和unsqueeze()解析與應(yīng)用案例,文章內(nèi)容介紹詳細(xì),需要的小伙伴可以參考一下,希望對你有所幫助
    2022-03-03
  • Django 解決model 反向引用中的related_name問題

    Django 解決model 反向引用中的related_name問題

    這篇文章主要介紹了Django 解決model 反向引用中的related_name問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python類定義和類繼承詳解

    Python類定義和類繼承詳解

    這篇文章主要介紹了Python類定義和類繼承詳解,本文講解了類的私有屬性、類的方法、私有的類方法、類的專有方法、類的定義、類的單繼承、類的多繼承等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • Python倒排索引之查找包含某主題或單詞的文件

    Python倒排索引之查找包含某主題或單詞的文件

    倒排索引(英語:Inverted index),也常被稱為反向索引、置入檔案或反向檔案,是一種索引方法,被用來存儲在全文搜索下某個單詞在一個文檔或者一組文檔中的存儲位置的映射。這篇文章主要介紹了Python倒排索引之查找包含某主題或單詞的文件,需要的朋友可以參考下
    2019-11-11
  • Python實(shí)現(xiàn)破解網(wǎng)站登錄密碼(帶token驗證)

    Python實(shí)現(xiàn)破解網(wǎng)站登錄密碼(帶token驗證)

    這篇文章主要為大家介紹一個Python暴力破解網(wǎng)站登錄密碼腳本(帶token驗證),文中的過程講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,感興趣的可以學(xué)習(xí)一下
    2022-02-02
  • python二分法查找算法實(shí)現(xiàn)方法【遞歸與非遞歸】

    python二分法查找算法實(shí)現(xiàn)方法【遞歸與非遞歸】

    這篇文章主要介紹了python二分法查找算法實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python使用遞歸與非遞歸算法實(shí)現(xiàn)二分查找的相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • python求定積分之quad函數(shù)詳解

    python求定積分之quad函數(shù)詳解

    這篇文章主要介紹了python求定積分之quad函數(shù)詳解,SciPy下實(shí)現(xiàn)求函數(shù)的積分的函數(shù)的基本使用,積分,高等數(shù)學(xué)里有大量的講述,基本意思就是求曲線下面積之和,需要的朋友可以參考下
    2023-08-08
  • PyCharm遠(yuǎn)程調(diào)試代碼配置以及運(yùn)行參數(shù)設(shè)置方式

    PyCharm遠(yuǎn)程調(diào)試代碼配置以及運(yùn)行參數(shù)設(shè)置方式

    這篇文章主要介紹了PyCharm遠(yuǎn)程調(diào)試代碼配置以及運(yùn)行參數(shù)設(shè)置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • python下解壓縮zip文件并刪除文件的實(shí)例

    python下解壓縮zip文件并刪除文件的實(shí)例

    下面小編就為大家分享一篇python下解壓縮zip文件并刪除文件的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python實(shí)現(xiàn)調(diào)用攝像頭并拍照發(fā)郵箱

    python實(shí)現(xiàn)調(diào)用攝像頭并拍照發(fā)郵箱

    這篇文章主要介紹了python實(shí)現(xiàn)調(diào)用攝像頭并拍照發(fā)郵箱的程序,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04

最新評論

错那县| 双辽市| 南召县| 桂阳县| 富源县| 六枝特区| 忻州市| 满城县| 民和| 隆化县| 兴业县| 红安县| 大港区| 德兴市| 葵青区| 太康县| 喀喇| 平原县| 治多县| 普洱| 石家庄市| 木兰县| 桓台县| 海门市| 鄂托克前旗| 绍兴县| 昌邑市| 东城区| 探索| 镇雄县| 县级市| 合山市| 舞阳县| 丰城市| 贵阳市| 咸丰县| 五原县| 永春县| 昭平县| 汝城县| 陆川县|