欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用numpy查找元素位置numpy.where

 更新時(shí)間:2023年07月07日 10:35:44   作者:patrickpdx  
這篇文章主要介紹了使用numpy查找元素位置numpy.where問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

numpy查找元素位置numpy.where

numpy.where(condition,x,y)

詳細(xì)用法請大家詳見官方文檔

這里舉幾個(gè)例子

import numpy as np
a=np.array([1,2,3,4,5])
print(np.where(a<3))#查找小于3的元素的位置

結(jié)果

(array([0, 1], dtype=int64),)

注意輸入的數(shù)組必須是numpy數(shù)組,list是不支持的

二維數(shù)組的例子

>>> x = np.arange(9.).reshape(3, 3)
>>> np.where( x > 5 )
(array([2, 2, 2]), array([0, 1, 2]))
>>> x[np.where( x > 3.0 )] ? ? ? ? ? ? ? # Note: result is 1D.
array([ 4., ?5., ?6., ?7., ?8.])
>>> np.where(x < 5, x, -1) ? ? ? ? ? ? ? # Note: broadcasting.
array([[ 0., ?1., ?2.],
? ? ? ?[ 3., ?4., -1.],
? ? ? ?[-1., -1., -1.]])

python numpy.where()函數(shù)

numpy.where(condition[,x,y])

返回元素,可以是x或y,具體取決于條件(condition)

如果只給出條件,則返回condition.nonzero()。

對于不同的輸入,where返回的值是不同的。

參數(shù):ccondition:array_llike,bool
如果為True,則產(chǎn)生x,否則產(chǎn)生y。
x,y:array_like,可選
要從中選擇的值。x,y和條件需要可以播放到某種形狀。
返回值:

out:ndarray或ndarray元組

如果同時(shí)指定了x和y,則輸出數(shù)組包含x的元素,其中condition為True,其他元素來自y。如果只給出條件,則返回元組condition.nanzero(),條件為True的索引。

Example

當(dāng)數(shù)組是一維數(shù)組時(shí),返回的值是一維的索引,所以只有一組索引數(shù)組

a = np.arange(8)
a
array([0, 1, 2, 3, 4, 5, 6, 7])
np.where(a>4)
(array([5, 6, 7], dtype=int64),)

當(dāng)數(shù)組是二維數(shù)組時(shí),滿足條件的數(shù)組值返回的是值的位置索引,因此會(huì)有兩組索引數(shù)組來表示值的位置,返回的第一個(gè)array表示行坐標(biāo),第二個(gè)array表示縱坐標(biāo),兩者一一對應(yīng)

b = np.arange(4*5).reshape(4,5)
b
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])
np.where(b>14)
(array([3, 3, 3, 3, 3], dtype=int64), array([0, 1, 2, 3, 4], dtype=int64))

當(dāng)條件(condition)為多維數(shù)組時(shí),根據(jù)條件中為True則選擇x中相應(yīng)的數(shù)值,為False選擇y中相應(yīng)的數(shù)值

np.where([[False, True], [False, True]],
        [[5, 3], [7, 9]],
        [[2, 6], [1, 8]])
array([[2, 3],[1, 9]])

第一個(gè)元素中的第一個(gè)值為False,所以選擇y中的2,第二個(gè)值為True,選擇x中3,第二個(gè)元素中的第一個(gè)值為False,所以選擇y中的1,第二個(gè)值為True,選擇x中9.

當(dāng)參數(shù)中只給出條件時(shí),則返回非零元素的索引:

np.where([[0, 1], [1, 1]])
(array([0, 1, 1], dtype=int64), array([1, 0, 1], dtype=int64))
x = np.arange(12.).reshape(4, 3)
x
array([[  0.,   1.,   2.],
       [  3.,   4.,   5.],
       [  6.,   7.,   8.],
       [  9.,  10.,  11.]])
np.where(x>7)
(array([2, 3, 3, 3], dtype=int64), array([2, 0, 1, 2], dtype=int64))
x[np.where( x > 6.0 )]           
array([  7.,   8.,   9.,  10.,  11.])
np.where(x < 8, x, np.nan) 
array([[  0.,   1.,   2.],
       [  3.,   4.,   5.],
       [  6.,   7.,  nan],
       [ nan,  nan,  nan]])

根據(jù)找到的元素的索引找到元素的具體位置

x = np.arange(12.).reshape(4, 3)
x
array([[  0.,   1.,   2.],
       [  3.,   4.,   5.],
       [  6.,   7.,   8.],
       [  9.,  10.,  11.]])
positions = [2,6,10]
ins = np.isin(x,positions)
ins
array([[False, False,  True],
       [False, False, False],
       [ True, False, False],
       [False,  True, False]], dtype=bool)
np.where(ins)
(array([0, 2, 3], dtype=int64), array([2, 0, 1], dtype=int64))

總結(jié)

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

相關(guān)文章

  • Python 判斷圖像是否讀取成功的方法

    Python 判斷圖像是否讀取成功的方法

    今天小編就為大家分享一篇Python 判斷圖像是否讀取成功的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 使用Python?VTK?完成圖像切割

    使用Python?VTK?完成圖像切割

    這篇文章主要介紹了使用Python?VTK?完成圖像切割,文章內(nèi)容基于python的相關(guān)資料展開對主題的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • Python可視化Matplotlib折線圖plot用法詳解

    Python可視化Matplotlib折線圖plot用法詳解

    這篇文章主要為大家介紹了Python可視化中Matplotlib折線圖plot用法的詳解,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進(jìn)步
    2021-09-09
  • python發(fā)送郵件實(shí)例分享

    python發(fā)送郵件實(shí)例分享

    這篇文章主要為大家詳細(xì)介紹了python發(fā)送郵件實(shí)例分享,教大家如何實(shí)現(xiàn)郵件發(fā)送功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Python的列表和元組詳情

    Python的列表和元組詳情

    這篇文章主要介紹了Python的列表和元組,列表和元組是python組常見的內(nèi)置內(nèi)省,下面文章我們講圍繞Python的列表和元組的相關(guān)資料展開話題,感興趣的小伙伴以參考一下
    2021-10-10
  • python使用Tkinter實(shí)現(xiàn)在線音樂播放器

    python使用Tkinter實(shí)現(xiàn)在線音樂播放器

    這篇文章主要為大家詳細(xì)介紹了python使用Tkinter實(shí)現(xiàn)在線音樂播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 詳解Python中的斷點(diǎn)類型

    詳解Python中的斷點(diǎn)類型

    在?Python?中,斷點(diǎn)是一種在代碼中設(shè)置的標(biāo)記,用于在程序執(zhí)行過程中停止或中斷程序的執(zhí)行,本文將詳細(xì)介紹?Python?中的斷點(diǎn)類型,感興趣的可以了解下
    2024-02-02
  • python3使用pyqt5制作一個(gè)超簡單瀏覽器的實(shí)例

    python3使用pyqt5制作一個(gè)超簡單瀏覽器的實(shí)例

    下面小編就為大家?guī)硪黄猵ython3使用pyqt5制作一個(gè)超簡單瀏覽器的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Python格式化輸出字符串方法小結(jié)【%與format】

    Python格式化輸出字符串方法小結(jié)【%與format】

    這篇文章主要介紹了Python格式化輸出字符串方法,結(jié)合實(shí)例形式總結(jié)分析了使用%與format函數(shù)進(jìn)行字符串格式化操作相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-10-10
  • python爬蟲破解字體加密案例詳解

    python爬蟲破解字體加密案例詳解

    這篇文章主要介紹了python爬蟲破解字體加密案例詳解,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03

最新評(píng)論