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小的數變成最小值,...