溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中的Numpy面向數(shù)組編程常見操作實例分析

發(fā)布時間:2022-07-11 13:36:04 來源:億速云 閱讀:127 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Python中的Numpy面向數(shù)組編程常見操作實例分析”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python中的Numpy面向數(shù)組編程常見操作實例分析”文章能幫助大家解決問題。

    數(shù)組編程

    使用Numpy數(shù)組可以使你利用簡單的數(shù)組表達式完成多項數(shù)據(jù)操作任務(wù),而不需要編寫大量的循環(huán),這個極大的幫助了我們高效的解決問題。我們都知道向量化的數(shù)組操作比純Python的等價實現(xiàn)在速度這一方面快很多,至于多少(一到兩個數(shù)量級)甚至更多,生活需要慢節(jié)奏,但是計算就不可以了,掌握高效的計算模型,可以讓數(shù)據(jù)分析如虎添翼!

    簡單例子

    我們生成從-3.14--3.14,按照0.01的間隔生成,最后計算表達式X^2+Y^2的值

    Python中的Numpy面向數(shù)組編程常見操作實例分析

    Python中的Numpy面向數(shù)組編程常見操作實例分析

    邏輯條件作為數(shù)組操作

    numpy.where函數(shù)是三元表達式 x if condition else y 的向量化版本,假設(shè)我們有一個布爾值數(shù)組和兩個數(shù)值數(shù)組

    Python中的Numpy面向數(shù)組編程常見操作實例分析

    首先我們要明確的是我們自己去寫這個邏輯來進行判斷的話就比較的失敗,因為遇到比較大的數(shù)組,速度會比較的慢,因為所有的代碼工作都是解釋器Python代碼完成的,其次如果是多維的那就無法湊效了,但是我們使用np.where就可以簡單的完成。

    在np.where的第二個和第三個參數(shù)并需要數(shù)組,它們可以是標量,where在數(shù)據(jù)分析中的一個典型用法就是根據(jù)一個數(shù)組來生成一個新的數(shù)組。假設(shè)你有一個隨機生成的矩陣數(shù)據(jù),并且你想要其中的正值都有替換為2,所有的負數(shù)都替換為-2,使用這個函數(shù)輕松解決。

    Python中的Numpy面向數(shù)組編程常見操作實例分析

    數(shù)學(xué)和統(tǒng)計方法

    許多關(guān)于計算整個數(shù)組統(tǒng)計值或關(guān)于軸向數(shù)據(jù)的數(shù)據(jù)函數(shù),可以作為數(shù)組類型的方法被調(diào)用。你可以使用聚合函數(shù)(通常也叫縮減函數(shù)),比如sum,mean,STD(標準差)既可以直接調(diào)用也可以使用頂層的numpy函數(shù)

    Python中的Numpy面向數(shù)組編程常見操作實例分析

     對于統(tǒng)計方法我們的案例其實差不多,至于怎樣去了解那就需要自己去琢磨了,下面有一個基礎(chǔ)數(shù)組的統(tǒng)計方法

    基礎(chǔ)數(shù)組的統(tǒng)計方法:

    sum

    計算總數(shù)

     

    mean

    數(shù)學(xué)平均,0長度的數(shù)組平均值為NaN

    std,var

    標準差與方差

    min,max

    最小值和最大值

    argmin,argmax

    最小值和最大值的位置

    cumsum

    從0開始元素累計和(等差數(shù)列求和)

    cumprod

    從1開始元素累計積(階乘)

    一行代碼計算1+2+....10數(shù)之和

    Python中的Numpy面向數(shù)組編程常見操作實例分析

    布爾數(shù)組的方法

    sum通常可以計算布爾值數(shù)組中true的個數(shù),對于布爾數(shù)組,有兩個非常常用的方法any和all。any用于檢查數(shù)組中是否至少有一個true,如果有一個以上那么它就會返回true,any檢查是否每一個值都是true,如果有一個不是true那就返回false。

    排序

    和Python類建列表相似,numpy數(shù)組可以使用sort方法按照位置排序

    Python中的Numpy面向數(shù)組編程常見操作實例分析

    唯一值和其他的邏輯集合

    介紹:

    numpy包含一些針對一維ndarray的基礎(chǔ)集合操作。常用的一個方法是np.unique返回的是包含數(shù)組唯一的排好序的集合,首先集合肯定是唯一的,那么我們在進行排序,解決它的無序性

    應(yīng)用場景假設(shè)有一個數(shù)組里面有很多值,而且有大量的重復(fù)的值我們需要對其進行排序,就可以使用這個方法了,下面是一些數(shù)組集合的操作

    數(shù)組集合操作:

    unique(x) 計算X的唯一值,并排序 intersect1d(x,y) 計算X和Y的交集,并排序 union1d(x,y) 計算X和Y的并集,并排序 in1d(x,y) 計算X中的元素是否包含在Y中,返回一個布爾值數(shù)組 setdiff1d(x,y) 差集,在X中但不在Y中的元素 setxor1d(x,y) 異或集,在X或Y中,但不屬于X,Y交集的元素

    關(guān)于“Python中的Numpy面向數(shù)組編程常見操作實例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI