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

2021-01-08 石問新

【每天幾分鐘,從零入門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學習第111課——ndarray提取元素跟原數組的關聯性
    【每天幾分鐘,從零入門python編程的世界!】numpy中有一些非常奇怪的特性。●切分出來的對象和被切分的對象相關聯比如有一個ndarray對象a,把a的3,4,8,9切出來存入b,改變b的第一個元素值,則a也改變:運行結果:由上可知,ndarray的切分操作,切分的對象和被切分的對象相關聯,相當於b是a的子集,a和b無論改變哪一個,另一個都會隨之改變。
  • Python學習第114課——numpy中ndarray的四則運算
    【每天幾分鐘,從零入門python編程的世界!】我們為什麼要學習numpy?numpy其實就是number+Python的簡寫,意思就是通過Python對數據進行處理。要對數據進行處理,就少不了最基本的加減乘除等操作。
  • Python編程:如何規範numpy中數組元素的列印輸出格式
    在代碼調試過程中,我們經常會使用print函數列印查看numpy數組元素的運算結果,那麼如何規範或者自定義這種數組的輸出格式呢?函數set_printoptions原型numpy庫中提供了一個函數set_printoptions,通過這個函數可對列印結果進行各種設置。
  • ICPC--1116: 刪除元素&1117: 查找數組元素
    定義如下兩個函數分別實現刪除元素操作和數組輸出操作。,第一行是一個整數n(n<10),第二行是n個整數,第三行是要刪除元素的下標i,i>=0。題目描述輸入n個整數構成一個數組,在這個數組中查找x是否存在,如果存在,刪除x,並輸出刪除元素後的數組。
  • Python學習第117課——numpy中dot的運用舉例
    閒話少敘,我們對numpy中的矩陣相乘做一些舉例說明。我們還是使用上節的兩個矩陣為例。上節我們用手寫推導矩陣相乘過程如下:我們現在用代碼演示一下numpy中的矩陣相乘。我們知道如果兩個數組都是2維以上才能用矩陣相乘。用代碼生成兩個2行2列的數組x和y(跟我們手寫推導時的矩陣x和y結構一樣,都是2行2列),然後進行矩陣相乘。
  • Python中的Numpy基礎20問
    如何改變數組的形狀?前面說過,數組的shape屬性返回一個元組,能夠反映數組的形狀,包括維度以及每個軸的元素數量。那麼如果給定一個數組,怎麼改變其形狀呢?常用的方式有兩種:reshape方法,它返回一個新的數組,而不能改變原始數組。resize方法,無返回值,它更改了原始數組。
  • Python學習第116課——numpy.dot和矩陣相乘的數學運算
    【每天幾分鐘,從零入門python編程的世界!】關於numpy中數組的相乘,我們學習了對位相乘(用numpy.multiply、或*直接相乘,比如數組a和b的對位相乘就是numpy.multiply(a,b)或a*b)和一維數組的點乘(dot product,也有人叫inner product,比如一維數組a和b的點乘就是a.b)。numpy中的點乘就是numpy.dot。對於二維以上的數組的點乘,就會用到矩陣相乘。
  • 如何獲取numpy數組地址?如何與ctypes數組共享內存?
    在Python編程中,numpy是一個很好用的擴展程序庫,將其與SciPy庫和 Matplotlib繪圖庫一起使用,可構成一個強大的類似於Matlab的科學計算環境,有助於我們通過 Python 學習數據科學或者機器學習。
  • 不懂NumPy 算什麼 Python 程式設計師?|CSDN 博文精選
    list VS ndarraynumpy 的核心是 ndarray 對象(numpy 數組),它封裝了 python 原生的同數據類型的 n 維數組(python 數組)。numpy 數組和 python 數組之間有幾個重要的區別:numpy 數組一旦創建,其元素數量就不能再改變了。增刪 ndarray 元素的操作,意味著創建一個新數組並刪除原來的數組。
  • 如何獲取numpy數組的真實地址?如何與ctypes數組共享內存?
    在Python編程中,numpy是一個很好用的擴展程序庫,將其與SciPy庫和 Matplotlib繪圖庫一起使用,可構成一個強大的類似於Matlab的科學計算環境,有助於我們通過 Python 學習數據科學或者機器學習。在Python中,當你定義了一個numpy類型的數組後,它內部元素的真實地址如何獲得呢?
  • 一起學習Python常用模塊——numpy
    對於數據分析師來說,應掌握基礎語法和數據科學的模塊,主要包括:pandas、numpy和機器學習庫sklearn等。對於算法工程師來說,還應掌握深度學習相關模塊,主要包括:tensorflow、pytorch等。Python語法簡單,入門容易,Numpy是Python中科學計算的核心庫。
  • 使用NumPy 讓你的 Python 科學計算更高效
    使用numpy可以使python的計算效率更高。NumPy 數組存儲在一個均勻連續的內存塊中。這樣數組計算遍歷所有的元素,不像列表 list 還需要對內存地址進行查找,從而節省了計算資源。在 NumPy 中,每一個線性的數組稱為一個軸(axes),其實秩就是描述軸的數量。連續數組的創建,可以使用arange和linspace函數進行創建:arange() 類似內置函數 range(),通過指定初始值、終值、步長來創建等差數列的一維數組,默認是不包括終值的。
  • Numpy對數組元素進行操作
    如想抽取(或查看)數組的一部分,必須使用切片句法;也就是,把幾個用冒號( : )隔開的數字置於方括號裡。如想抽取數組的一部分,例如從第二個到第六個元素這一部分,就需要在方括號裡指定起始元素的索引1和結束元素索引5。如想從上面那一部分元素中,每隔一定數量的元素抽取一個,可以再用一個數字指定所抽取的兩個元素之間的間隔大小。例如,間隔為2,表示每隔一個元素抽取一個。
  • Python編程:如何將多個一維數組的元素交叉拼接成新的一維數組
    問題提出假定有3個一維數組x0、x1、x2,其元素分別為:x0 = [1, 2, 3]x1 = [4, 5, 6]x2 = [7, 8, 9]請將這3個一維數組的元素交叉拼接後,組成一個新的一維數組y:y =
  • 4個Python初學者必學的Numpy小技巧
    圖源:UnsplashPython初學者除了要掌握基礎知識外,了解一些小技巧、小竅門也是學習路上必不可少的一種催化劑,能幫助你更好的學習。Numpy數組比Python列表更緊湊。該庫還方便地以非常高效的計算方式實現了許多常見的矩陣運算。下面小芯就基於實踐整理出了Python初學者應該學習的4個numpy技巧,它們能夠幫助你編寫更簡潔易讀的代碼。在學習numpy技巧之前,請確保已熟悉以下文章中的一些Python內置功能。
  • 談談Python中列表、元組和數組的區別和騷操作
    元組是不可變序列,即元組一旦創建,元組中的數據一旦確立就不能改變,不能對元組中中的元素進行增刪改操作,因此元組沒有增加元素append、修改元素、刪除元素pop的相關方法,只能通過序號(索引)訪問元組中的成員,元組中的成員的起始序號為0,如:T[0]=1, T=(1,2,3)。
  • 你還沒學會Numpy?Python中的Numpy數組常用操作
    ●讀取/寫入磁碟上的陣列數據和操作存儲器映像文件的工具。●線性代數,隨機數生成,以及傅立葉變換的能力。●集成C、C++、Fortran代碼的工具。今天,我們就來和大家分享幾個Numpy數組常用操作。如以下代碼所示:Numpy數組的切片由於python列表是層次嵌套的,所以索引元素方法為a[i][j];而Numpy數組為一個整體,其索引方法為a[i, j]。
  • 學習numpy,看這篇文章就夠啦
    【導語】在數據分析當中,python用到最多的第三方庫就是numpy,今天我們就來講講!在計算機科學中,數組數據結構(array data structure),簡稱數組(Array),是由相同類型的元素的集合所組成的數據結構,分配一塊連續的內存來存儲。按數組維數分類可分為:一維數組、二維數組、多維數組(N維數組)。