Python學習第112課——numpy中數組查找元素和改變元素的小技巧

2021-01-10 石問新

【每天幾分鐘,從零入門python編程的世界!】

上節我們學習了如何利用index找到ndarray數組中的一些元素,並把找到的元素生成一個新的ndarray。代碼如下:

現在我們學習幾個用index找到ndarray中元素的小技巧。

★技巧1:

★技巧2:

以上兩種寫法運行結果都是:

以上兩種簡寫技巧,相當於從h中找到元素時,通過兩個list[0,1,2]和[2,1,0],每個list的元素一一對應,分別取出第1行第3列、第2行第2列、第3行第1列的元素,三個元素分別為3、5、7。

相當於h[]中的第一個list是代表元素所在行,第二個list代表元素所在列。

★技巧3:

運行結果:

說明:

●arange()函數

語法:np.arange([start,]stop,[step,]dtype=None)

作用:生成在numpy中創建等差數組。

參數:

start是起始值,可以不寫,不寫默認從0開始。

stop是結束值,必須要寫,生成的數組的元素不包括結束值

step是步長,可以不寫,不寫默認步長是1。

numpy的arange()函數和Python的range()函數類似。

因此np.arange(3)生成的數組就是[0 1 2]。

所以技巧3的h[np.arange(3),i]這行代碼,

表示從h中取元素,

np.arange(3)表示依次從第1行、第2行、第3行取元素,

i是[2 1 0],代表依次從第3列、第2列、第1列取元素,

所以就是依次從h的第1行第3列、第2行第2列、第3行第1列取元素。

取出結果就是[3 5 7]

★技巧4,批量改變數組的元素:

運行結果:

以上就是numpy中數組查找元素和改變元素的小技巧。

我是時問新,歡迎關注我。跟我一起從零開始學習Python,每天花一點時間,開啟python編程新世界的大門,領略新的風光,讓人生多一種可能!

相關焦點

  • Python學習第113課——numpy中用條件判斷去篩選數組中的元素
    【每天幾分鐘,從零入門python編程的世界!】之前我們學習了如何在numpy中查找數組元素的方法和技巧,現在我們學習如何用條件判斷的方式篩選數組的元素。●numpy中的數組可以直接進行比較直接上代碼:運行結果:我們看到,condition列印出來,它的結構和h的結構一樣。
  • Python學習第119課——numpy中的broadcasting
    【每天幾分鐘,從零入門python編程的世界!】這節課我們學習numpy中的數據的一個多變的特性--broadcasting,broadcasting的官方的說明比較麻煩,我們這裡把它簡化一下,就把它當做「腦補」的意思。我們舉例來說明。
  • Python學習第114課——numpy中ndarray的四則運算
    【每天幾分鐘,從零入門python編程的世界!】我們為什麼要學習numpy?numpy其實就是number+Python的簡寫,意思就是通過Python對數據進行處理。要對數據進行處理,就少不了最基本的加減乘除等操作。
  • Python編程:如何規範numpy中數組元素的列印輸出格式
    在代碼調試過程中,我們經常會使用print函數列印查看numpy數組元素的運算結果,那麼如何規範或者自定義這種數組的輸出格式呢?函數set_printoptions原型numpy庫中提供了一個函數set_printoptions,通過這個函數可對列印結果進行各種設置。
  • Python學習第117課——numpy中dot的運用舉例
    閒話少敘,我們對numpy中的矩陣相乘做一些舉例說明。我們還是使用上節的兩個矩陣為例。上節我們用手寫推導矩陣相乘過程如下:我們現在用代碼演示一下numpy中的矩陣相乘。我們知道如果兩個數組都是2維以上才能用矩陣相乘。用代碼生成兩個2行2列的數組x和y(跟我們手寫推導時的矩陣x和y結構一樣,都是2行2列),然後進行矩陣相乘。
  • NumPy ndarray數組元素的獲取
    生成 ndarray 數組後,如何讀取我們所需要的數據呢?
  • Python中的Numpy基礎20問
    如何改變數組的形狀?前面說過,數組的shape屬性返回一個元組,能夠反映數組的形狀,包括維度以及每個軸的元素數量。那麼如果給定一個數組,怎麼改變其形狀呢?常用的方式有兩種:reshape方法,它返回一個新的數組,而不能改變原始數組。resize方法,無返回值,它更改了原始數組。
  • Python入門教程(二):Numpy數組基礎
    Python中的數組操作幾乎等同於Numpy數組操作,今天我們會展示用Numpy數組操作獲取數據或者子數組,對數組進行分裂,變形和連接的例子。首先,我們先介紹幾類基本的數組操作:數組的屬性確定數組的大小,形狀,儲存大小,數據類型數組的索引:獲取和設置各個元素的值數組的切分:在大的數組中獲取或設置更小的子數組
  • 不懂NumPy 算什麼 Python 程式設計師?|CSDN 博文精選
    list VS ndarraynumpy 的核心是 ndarray 對象(numpy 數組),它封裝了 python 原生的同數據類型的 n 維數組(python 數組)。numpy 數組和 python 數組之間有幾個重要的區別:numpy 數組一旦創建,其元素數量就不能再改變了。增刪 ndarray 元素的操作,意味著創建一個新數組並刪除原來的數組。
  • Python數據分析之numpy數組全解析
    在NumPy 中,最重要的對象是稱為 ndarray 的N維數組類型,它是描述相同類型的元素集合,numpy所有功能幾乎都以ndarray為核心展開。ndarray 中的每個元素都是數據類型對象(dtype)的對象。
  • Python學習第116課——numpy.dot和矩陣相乘的數學運算
    關於numpy中數組的相乘,我們學習了對位相乘(用numpy.multiply、或*直接相乘,比如數組a和b的對位相乘就是numpy.multiply(a,b)或a*b)和一維數組的點乘(dot product,也有人叫inner product,比如一維數組a和b的點乘就是a.b)。
  • Python Numpy-數組的常用函數
    下面介紹一些常用的數組操作函數和統計函數。將數組變形,參數是一個tuple。注意:數組元素總數要一致。gt;>>[[[85 32 1 52] [36 68 68 76] [ 1 36 97 6]] [[70 30 79 95] [ 5 47 42 73] [60 92 93 36]]]2、concatenate函數concatenate() 級聯需要注意的點:1、級聯的參數是列表:一定要加中括號或者小括號
  • 如果不懂Numpy,請別說自己是Python程式設計師
    越來越多的基於 python 的科學和數學軟體包使用 numpy 數組,雖然這些工具通常都支持 python 的原生數組作為參數,但它們在處理之前會還是會將輸入的數組轉換為 numpy 的數組,而且也通常輸出為 numpy 數組。在 python 的圈子裡,numpy 的重要性和普遍性日趨增強。
  • 如何獲取numpy數組的真實地址?如何與ctypes數組共享內存?
    在Python編程中,numpy是一個很好用的擴展程序庫,將其與SciPy庫和 Matplotlib繪圖庫一起使用,可構成一個強大的類似於Matlab的科學計算環境,有助於我們通過 Python 學習數據科學或者機器學習。在Python中,當你定義了一個numpy類型的數組後,它內部元素的真實地址如何獲得呢?
  • Python數據分析之numpy學習(一)
    本期將會涉及到Python模塊中的numpy,這是一個處理數組的強大模塊,而該模塊也是其他數據分析模塊(如pandas和scipy)的核心。下面將從這5個方面來介紹numpu模塊的內容:1)數組的創建2)有關數組的屬性和函數3)數組元素的獲取--普通索引、切片、布爾索引和花式索引4)統計函數與線性代數運算5)隨機數的生成數組的創建numpy中使用array()函數創建數組,
  • 4個Python初學者必學的Numpy小技巧
    圖源:UnsplashPython初學者除了要掌握基礎知識外,了解一些小技巧、小竅門也是學習路上必不可少的一種催化劑,能幫助你更好的學習。Numpy數組比Python列表更緊湊。該庫還方便地以非常高效的計算方式實現了許多常見的矩陣運算。下面小芯就基於實踐整理出了Python初學者應該學習的4個numpy技巧,它們能夠幫助你編寫更簡潔易讀的代碼。在學習numpy技巧之前,請確保已熟悉以下文章中的一些Python內置功能。1.
  • Numpy基礎,一位Python大神的筆記,看了後我連Matlab都學會了!
    fromfunctionfromfunction()方法可以根據矩陣的行號列號生成矩陣的元素。 例如創建一個矩陣,矩陣中的每個元素都為行號和列號的和。常用矩陣函數同樣地,numpy中也定義了許多函數,使用這些函數可以將函數作用於矩陣中的每個元素。 表格中默認導入了numpy模塊,即 import numpy as np 。
  • Python使用ctypes模塊調用DLL函數之C語言數組與numpy數組傳遞
    一般情況下,DLL函數中傳遞C語言類型的數組,在接收到Python語言中時,通常將其轉換為numpy庫裡面的數組類型,這樣做的好處是可以藉助於numpy強大的分析處理功能對數據直接作後續處理。這次通過例子演示下C語言數組到numpy數組之間是怎樣傳遞的。
  • 數據科學中100個Numpy代碼技巧
    NumPy是Python語言的擴展庫,支持許多高維數組和矩陣的操作。此外,它還為數組操作提供了許多數學函數庫。機器學習涉及到對數組的大量轉換和操作,這使得NumPy成為必不可少的工具之一。下面的100個練習都是從numpy郵件列表、stack overflow和numpy文檔中收集的。
  • Python中NumPy簡介及使用舉例
    它描述相同類型的元素集合,可以使用基於零的索引訪問集合中元素。基本的ndarray是使用NumPy中的數組函數創建的: numpy.array。NumPy支持比Python更多種類的數值類型。NumPy數值是dtype(數據類型)對象的實例,每個對象具有唯一的特徵。