<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          NumPy 索引和切片 用法總結(jié)

          共 2912字,需瀏覽 6分鐘

           ·

          2021-05-30 12:33

          你好,我是zhenguo

          參考NumPy官方文檔,總結(jié)NumPy索引和切片,可以看到它們相比Python更加方便、簡介和強大。

          索引和切片

          您可以使用與切片 Python列表相同的方法,對NumPy數(shù)組進行索引和切片。

          >>> data = np.array([123])

          >>> data[1]
          2
          >>> data[0:2]
          array([12])
          >>> data[1:]
          array([23])
          >>> data[-2:]
          array([23])

          你可以這樣想象:

          您可能需要獲取數(shù)組的一部分或特定數(shù)組元素,以便在進一步分析或其他操作中使用。為此,需要對數(shù)組進行子集、切片和/或索引。

          如果您想從數(shù)組中選擇滿足特定條件的值,那么NumPy很簡單。

          例如,如果從這個數(shù)組開始:

          >>> a = np.array([[1 , 234], [5678], [9101112]])

          可以輕松打印數(shù)組中小于5的所有值。

          >>> print(a[a < 5])
          [1 2 3 4]

          例如,還可以選擇等于或大于5的數(shù)字,并使用該條件對數(shù)組進行索引。

          >>> five_up = (a >= 5)
          >>> print(a[five_up])
          5  6  7  8  9 10 11 12]

          可以選擇可被2整除的元素:

          >>> divisible_by_2 = a[a%2==0]
          >>> print(divisible_by_2)
          2  4  6  8 10 12]

          或者可以使用&|運算符選擇滿足兩個條件的元素:

          >>> c = a[(a > 2) & (a < 11)]
          >>> print(c)
          3  4  5  6  7  8  9 10]

          還可以使用邏輯運算符&|返回布爾值,指定數(shù)組中的值是否滿足特定條件。這對于包含名稱或其他分類值的數(shù)組很有用。

          >>> five_up = (a > 5) | (a == 5)
          >>> print(five_up)
          [[False False False False]
           [ True  True  True  True]
           [ True  True  True True]]

          還可以使用np.nonzero()從數(shù)組中選擇元素或索引。

          從這個數(shù)組開始:

          >>> a = np.array([[1234], [5678], [9101112]])

          可以使用np.nonzero()打印元素的索引,例如,小于5:

          >>> b = np.nonzero(a < 5)
          >>> print(b)
          (array([0000]), array([0123]))

          在本例中,返回了一個數(shù)組元組:每個維度一個。第一個數(shù)組表示找到這些值的行索引,第二個數(shù)組表示找到這些值的列索引。

          如果要生成元素所在的坐標列表,可以壓縮數(shù)組,遍歷坐標列表,然后打印它們。例如:

          >>> list_of_coordinates= list(zip(b[0], b[1]))

          >>> for coord in list_of_coordinates:
          ...     print(coord)
          (00)
          (01)
          (02)
          (03)

          還可以使用np.nonzero()打印數(shù)組中小于5的元素,并使用:

          >>> print(a[b])
          [1 2 3 4]

          如果要查找的元素在數(shù)組中不存在,則返回的索引數(shù)組將為空。例如:

          >>> not_there = np.nonzero(a == 42)
          >>> print(not_there)
          (array([], dtype=int64), array([], dtype=int64))


          NumPy系列教程,點擊下方 閱讀原文,學習更多:

          • NumPy介紹

          • 安裝和導入NumPy

          • Python列表和NumPy數(shù)組有什么區(qū)別?

          • 什么是array?

          • 有關(guān)Array的詳細信息

          • 如何創(chuàng)建array

          • 添加、刪除和排序元素

          • 數(shù)組形狀和大小

          • 重塑array

          • 如何將一維array轉(zhuǎn)換為二維array(如何向數(shù)組添加新軸)

          • NumPy索引和切片

          瀏覽 38
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美激情视频一区二区三区不卡 | 国产精品国内自产拍 | 台湾一级高清 | 美女高潮视频在线观看免费视频 | 国内毛片毛片毛片毛片毛片毛片毛片毛片 |