Numpy基礎

qq_40488951發表於2020-12-11

ndarray的建立

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
複製程式碼

Numpy基礎
多於一維的

# 多於一個維度  
import numpy as np 
a = np.array([[1,  2],  [3,  4]])  
print(a)
複製程式碼

輸出:

[[1, 2] 
 [3, 4]]
複製程式碼

dtype引數的

# dtype 引數  
import numpy as np 
a = np.array([1,  2,  3], dtype = complex)  
print(a)
複製程式碼

輸出:

[ 1.+0.j,  2.+0.j,  3.+0.j]
複製程式碼

numpy.empty

它建立指定形狀和dtype的未初始化陣列。(型別預設float)

x = np.empty([3,2])  
複製程式碼

注意:陣列元素為隨機值,因為它們未初始化。

numpy.ones

返回特定大小,以 1 填充的新陣列。

# 建立10行10列的數值為浮點1的矩陣,預設型別為 float  
array_one = np.ones([10, 10])
複製程式碼

numpy.zeros

返回特定大小,以 0 填充的新陣列。

# 建立10行10列的數值為浮點0的矩陣,預設型別為 float  
array_zero = np.zeros([10, 10])
複製程式碼

附 NumPy 中定義的不同標量資料型別:

Numpy基礎

NumPy - 陣列屬性

ndarray.shape

這一陣列屬性返回一個包含陣列維度的元組,它也可以用於調整陣列大小。

例一

import numpy as np 
a = np.array([[1,2,3],[4,5,6]])  
print(a.shape)
複製程式碼

輸出:

(2, 3)
複製程式碼

例二

# 這會調整陣列大小  
import numpy as np 
 
a = np.array([[1,2,3],[4,5,6]])
a.shape =  (3,2)  
print(a) 
複製程式碼

輸出:

[[1, 2] 
 [3, 4] 
 [5, 6]]
複製程式碼

例三

NumPy 也提供了reshape函式來調整陣列大小。

import numpy as np 
a = np.array([[1,2,3],[4,5,6]]).reshape(3,2)
print(a)
複製程式碼

輸出:

[[1, 2] 
 [3, 4] 
 [5, 6]]
複製程式碼

檢視陣列的屬性

Numpy基礎

NumPy - 來自數值範圍的陣列

numpy.arange

這個函式返回ndarray物件,包含給定範圍內的等間隔值。

x = np.arange(10,20,2) #起始,終止,步長

NumPy - 切片和索引

ndarray物件的內容可以通過索引或切片來訪問和修改。有三種可用的索引方法型別: 欄位訪問基本切片高階索引

基本切片是 Python 中基本切片概念到 n 維的擴充套件。 通過將start,stop和step引數提供給內建的slice函式來構造一個 Python slice物件。 此slice物件被傳遞給陣列來提取陣列的一部分。

import numpy as np
a = np.arange(10)
s = slice(2,7,2)  
print(a[s])
#或者
import numpy as np
a = np.arange(10)
b = a[2:7:2]
#print(b)
複製程式碼

都輸出

[2  4  6]
複製程式碼

NumPy - 高階索引

有兩種型別的高階索引:整數和布林值。

整數索引

這種機制有助於基於 N 維索引來獲取陣列中任意元素。 每個整數陣列表示該維度的下標值。 當索引的元素個數就是目標ndarray的維度時,會變得相當直接。

以下示例獲取了ndarray物件中每一行指定列的一個元素。 因此,行索引包含所有行號,列索引指定要選擇的元素

Numpy基礎

布林索引

當結果物件是布林運算(例如比較運算子)的結果時,將使用此型別的高階索引。

Numpy基礎

Numpy基礎

廣播

廣播是指 NumPy 在算術運算期間處理不同形狀的陣列的能力。較小的陣列會廣播到較大陣列的大小,以便使它們的形狀可相容。

Numpy基礎

轉置

numpy.ndarray.T

numpy.transpose

Numpy計算

條件運算

Numpy基礎
輸出:
Numpy基礎
或者
Numpy基礎

統計運算

指定軸最大值

amax(引數1: 陣列; 引數2: axis=0/1; 0表示列1表示行)

Numpy基礎
最小值為numpy.amin

指定軸平均值mean

Numpy基礎

方差std

Numpy基礎

陣列運算

陣列與數的運算

Numpy基礎

Numpy基礎

矩陣運算np.dot()

Numpy基礎

Numpy基礎

矩陣拼接

矩陣垂直拼接np.vstack()

矩陣水平拼接 np.hstack()

Numpy讀取資料np.genfromtxt()

Numpy基礎

相關文章