Numpy的初步瞭解及其基本操作

理解 NumPy

在這篇文章中,我們將介紹使用NumPy的基礎知識,NumPy是一個功能強大的Python庫,允許更高級的數據操作和數學計算。

什麼是 NumPy?

NumPy是一個功能強大的Python庫,主要用於對多維數組執行計算。NumPy這個詞來源於兩個單詞-- NumericalPython。NumPy提供了大量的庫函數和操作,可以幫助程序員輕鬆地進行數值計算。這類數值計算廣泛用於以下任務:

  • 機器學習模型:在編寫機器學習算法時,需要對矩陣進行各種數值計算。例如矩陣乘法、換位、加法等。NumPy提供了一個非常好的庫,用於簡單(在編寫代碼方面)和快速(在速度方面)計算。NumPy數組用於存儲訓練數據和機器學習模型的參數。
  • 圖像處理和計算機圖形學:計算機中的圖像表示爲多維數字數組。NumPy成爲同樣情況下最自然的選擇。實際上,NumPy提供了一些優秀的庫函數來快速處理圖像。例如,鏡像圖像、按特定角度旋轉圖像等。
  • 數學任務:NumPy對於執行各種數學任務非常有用,如數值積分、微分、內插、外推等。因此,當涉及到數學任務時,它形成了一種基於Python的MATLAB的快速替代。

NumPy 的安裝

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

Numpy 的基本操作

創建一個一維數組

import numpy as np
my_array = np.array([1, 2, 3, 4, 5])
print(my_array)

打印我們創建的數組的形狀。

print(my_array.shape)
# 意思就是 my_array 是一個包含5個元素的數組。

我們也可以打印各個元素。

# 就像普通的Python數組一樣,NumPy數組的起始索引編號爲0。
print(my_array[0], my_array[1])

我們還可以修改NumPy數組的元素

# 將下標位零的數組的值改爲-1
my_array[0] = -1
print(my_array)

我們要創建一個長度爲5的NumPy數組,但所有元素都爲0
或者要創建一個長度爲5的NumPy數組,但所有元素都爲1

zero_array = np.zeros(5)
print(zero_array)
one_array = np.ones(5)
print(one_array)

我們還能輸入二維數組np.zeros((行, 列))

zero_2d_array = np.zeros((3, 5))
print(zero_2d_array)
one_2d_array = np.ones((2, 5))
print(one_2d_array)
# 打印形狀,輸出爲(3, 5),表示數組中有3行5列
print(zero_2d_array.shape)

二維數組的操作

# 輸入二維數組,二維數組可以用 my_array[i][j] 符號來索引,其中i表示行號,j表示列號。i和j都從0開始。
my_array = np.array([[4, 5], [6, 1]])
# 表示輸出第零行第一列
print(my_array[0][1])
# 表示輸出第零行
print(my_array[0])
# 表示輸出第一列, 不要吧英文逗號“,”給少了,不然就不是輸出第一列了
# print(my_array[: 1])   ==>   [[4 5]]
# 中括號的英文冒號“:”,是指一行或者一列的符號。
print(my_array[:, 1])
# my_array[:, 1]  等價於  [my_array[0][1] my_array[1][1]]
# my_array[0]  等價於  my_array[0, :]   又等價於   [my_array[0][0] my_array[0][1]]

使用NumPy,你可以輕鬆地在數組上執行數學運算。

a = np.array([[1.0, 2.0], [3.0, 4.0]])
b = np.array([[5.0, 6.0], [7.0, 8.0]])
sum = a + b
difference = a - b
product = a * b
quotient = a / b
print("Sum = \n", sum)
print("Difference = \n", difference)
print("Product = \n", product)
print("Quotient = \n", quotient)
"""
輸出結果
Sum = [[ 6. 8.] [10. 12.]]
Difference = [[-4. -4.] [-4. -4.]]
Product = [[ 5. 12.] [21. 32.]]
Quotient = [[0.2 0.33333333] [0.42857143 0.5 ]]
"""

我們可以發現,乘法運算符執行逐元素乘法而不是矩陣乘法。 要執行矩陣乘法,你可以執行以下操作:

# 矩陣乘法
matrix_product = a.dot(b)
print(matrix_product)
"""
輸出結果:
[[19. 22.]
 [43. 50.]]
"""
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章