溫馨提示×

溫馨提示×

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

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

如何分析python?numpy庫

發(fā)布時間:2021-12-27 12:45:50 來源:億速云 閱讀:165 作者:柒染 欄目:開發(fā)技術(shù)

如何分析python numpy庫,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

1.NumPy( Numeric Python)

numpy是一個開源的python科學(xué)計算擴展庫,主要用來處理任意維度數(shù)組和矩陣。
相同的任務(wù),使用numpy比直接用python的基本數(shù)據(jù)結(jié)構(gòu)更加簡單高效。

它的功能:

  • 包含一個強大的N維數(shù)組對象Ndarray

  • 廣播功能函數(shù)

  • 整合C/C++代碼的工具

  • 線性代數(shù)、傅里葉變換、隨機數(shù)生成等功能

numpyscipy,pandas等數(shù)據(jù)處理或科學(xué)計算庫的基礎(chǔ)

2.numpy的引用

如何分析python?numpy庫

雖說別名可以省略或者更改,但盡量使用上述約定的別名

3.Ndarray

n維數(shù)組,它是一個相同數(shù)據(jù)類型的集合,以0為下標開始進行集合中元素的索引。
我們知道,python有列表和數(shù)組此類的數(shù)據(jù)結(jié)構(gòu)。

列表:數(shù)據(jù)類型可以不同(如[3, 2.4 ,‘a(chǎn)' ,“abc”]),數(shù)據(jù)是有序的
數(shù)組:數(shù)據(jù)類型相同(如[1,2,3,4])
集合: (如{2,4,3,5,7})數(shù)據(jù)是無序的

引入n維數(shù)組的意義

觀察下列兩組操作,其功能都是一樣的。

import numpy as np

def pysum():
    a = [1, 2, 3, 4]
    b = [5, 6, 7, 8]
    c = []
    for i in range(len(a)):
        c.append(a[i]**2+b[i]**3)
    return c

def numpysum():
    a = np.array([1, 2, 3, 4])
    b = np.array([5, 6, 7, 8])
    c = a**2+b**3
    return c

print("使用列表運算的結(jié)果是:", pysum())
print("使用Numpy運算的結(jié)果是:", numpysum())

運行結(jié)果:

使用列表運算的結(jié)果是: [126, 220, 352, 528]
使用Numpy運算的結(jié)果是: [126 220 352 528]

但是很明顯:

  • numpy的數(shù)組對象可以去掉元素建運算所需要的循環(huán),使一維向量更像單個數(shù)據(jù)

  • numpy通過設(shè)立專門的數(shù)組對象,經(jīng)過優(yōu)化,運算速度也相應(yīng)提升

通常情況下,在科學(xué)運算中,一個維度所有數(shù)據(jù)的類型往往相同,這時,使用數(shù)組對象采用相同的數(shù)據(jù)類型,有助于節(jié)省運算時間和存儲空間

ndarray的組成

  • 實際的數(shù)據(jù)

  • 描述這些數(shù)據(jù)的元數(shù)據(jù)(數(shù)據(jù)維度、數(shù)據(jù)類型等)

如何分析python?numpy庫

ndarray對象的屬性

如何分析python?numpy庫

3.數(shù)據(jù)類型

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

np.array()不指定dtype時,numpy將根據(jù)數(shù)據(jù)情況關(guān)聯(lián)一個dtype類型

  • ndarray支持多種數(shù)據(jù)類型的原因

  • python基本語法只支持整數(shù)、浮點數(shù)和復(fù)數(shù)3種類型

  • 科學(xué)計算涉及數(shù)據(jù)較多,對存儲和性能都有較高要求

  • 對元素類型精細定義,有助于numpy合理使用存儲空間并優(yōu)化性能

  • 對元素類型精細定義,有助于程序員對程序規(guī)模有合理評估

ndarray數(shù)組的創(chuàng)建

import numpy as np
x = np.array([[1, 0], [2, 0], [3, 1]], np.int32)
print(x)
print(x.dtype)

程序輸出:

[[1 0]
 [2 0]
 [3 1]]
int32

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

adarray數(shù)組的變換

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

ndarray數(shù)組運算

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

4.索引與切片

  • 索引:獲取數(shù)組中特定位置元素的過程

  • 切片:獲取數(shù)組元素子集的過程

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

5.隨機數(shù)函數(shù)

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

6.統(tǒng)計函數(shù)

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

7.梯度函數(shù)

如何分析python?numpy庫

如何分析python?numpy庫

如何分析python?numpy庫

8.副本與視圖

numpy線性代數(shù)

數(shù)組與標量之間的運算

如何分析python?numpy庫

常用numpy.linalg函數(shù)總結(jié)

如何分析python?numpy庫

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(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