python numpy學習筆記

2022-04-11 17:55:42 字數 2854 閱讀 4007

import numpy as np

np.ndim # 陣列的維數

np.shape # 陣列的形狀

np.size # 陣列的元素個數

np.dtype # 陣列的元素型別

1)np.array你可以使用np.array直接用python的元組和列表來建立,如果傳遞的是多層巢狀的序列,將建立多維陣列。

為了建立列表,numpy提供了和 range 類似的函式,通過指定開始值、終值和步長來建立一維陣列,同樣為左閉右開。

3)使用zeros()、ones()、empty()函式

np.zeros(shape)

# 建立指定大小的陣列,陣列元素以 0 來填充。

np.ones(shape)

# 建立指定形狀的陣列,陣列元素以 1 來填充。

np.empty(shape)

# 方法用來建立乙個指定形狀(shape)、資料型別(dtype)且未初始化的陣列。

np.full(shape, val)

# 根據shape生成乙個陣列,每個值都為val。

np.eye(n)

# 建立乙個正方的n*n矩陣(即單位矩陣),對角線為1,其餘全為0。

當你列印乙個陣列時,numpy顯示陣列的方式和巢狀的列表類似,但是會遵循以下布局:

最後一維從左到右顯示。

第二維到最後一維從上到下顯示。

剩下的同樣從上到下顯示,以空行分隔。

一維陣列顯示成一行,二維陣列顯示成矩陣,三維陣列顯示成矩陣的列表。

當乙個陣列元素太多,不方便顯示時,numpy會自動陣列的中間部分,只顯示邊角的資料。

1)標準使用方法

陣列元素的訪問方法和python的標準方法相同

a = np.arange(10)

a[5]# 用整數作為下標可以獲取陣列中的某個元素a[3

:5]# 用範圍作為下標獲取陣列的乙個切片,包括a[3]不包括a[5]a[:

5]# 省略開始下標,表示從a[0]開始a[:

-1]# 下標可以使用負數,表示從陣列後往前數a[2

:4]=

100,

101# 下標還可以用來修改元素的值a[1

:-1:

2]# 範圍中的第三個引數表示步長,2表示隔乙個元素取乙個元素a[:

:-1]

# 省略範圍的開始下標和結束下標,步長為-1,整個陣列頭尾顛倒a[5

:1:-

2]# 步長為負數時,開始下標必須大於結束下標

和python的列表序列不同,通過下標範圍獲取的新的陣列是原始陣列的乙個檢視。它與原始陣列共享同一塊資料空間。

2)使用整數序列

當使用整數序列對陣列元素進行訪問時,將使用整數序列中的每個元素作為下標,整數序列可以是列表或者陣列。使用整數序列作為下標獲得的陣列不和原始陣列共享資料空間。

3)使用布林陣列

當使用布林陣列b作為下標訪問陣列x中的元素時,將收集陣列x中所有在陣列b中對應下標為true的元素。使用布林陣列作為下標獲得的陣列不和原始陣列共享資料空間,注意只對應於布林陣列,不能使用布林列表。。

布林陣列一般不是手工產生,而是使用布林運算的ufunc函式產生。

4)多維陣列

1)切分陣列

2)拼接陣列

numpy.concatenate 函式用於沿指定軸連線相同形狀的兩個或多個陣列。

需要注意的是陣列必須具有相同的形狀或符合陣列廣播規則。

1)一元ufunc

2)二元ufunc

1)比較運算

2)三角函式

3)求總和, 求乘積, 求差異

4)平均數和差異

python numpy學習筆記

前言 關於學習python,這幾年斷斷續續,學了停,停了學。我查過一些帖子,有人說直接做專案,在專案中學習 有人說打好基礎。我的性格可能是為了工作而工作,做專案可能會只對結果關心,當能出結果時,我便不會探索其中的知識點。所以,我準備從基礎開始,利用官網進行理論的學習,這篇文章是為了對python基礎...

python numpy學習筆記

encoding utf 8 import numpy as np from numpy.linalg import def main 多行注釋就乙個組合鍵 選中,ctrl lesson1 ndarray lst 1,3,5 2,4,6 print type lst np list np.array...

python numpy 學習筆記(6)

這次主要介紹numpy下的clip,compress,prod,以及cumprod方法 coding utf 8 from numpy import a arange 5 print a a print clipped a.clip 1,2 使用clipped修剪陣列,將比最小值1小的數變成最小值,...