學習numpy庫基礎知識

一、何為numpy庫

NumPy是Python裡面最重要的基礎性庫之一,可以讓Python支持大量的高端數值計算,是科學計算和數據分析領域的必備工具。NumPy用來存儲和處理大型矩陣和數組,提供接口,讓用戶可以在它們的上面進行數值運算。

NumPy的安裝十分方便,使用pip就可以安裝。在命令行中輸入如下命令,即可完成安裝。

pip install numpy

安裝完成後,在Python文件中使用import語句進行調用NumPy。

import numpy as np

二、NumPy中的基礎數據類型

NumPy的基礎數據類型是ndarray,即n維數組,是一個表格類型的數據結構,它裡面存儲了大量的數值數據。ndarray有三個非常重要的屬性:shape、dtype和size。shape代表數組的維度,可以是一維,二維等等;dtype代表數組中的元素類型;size表示數組中含有的元素個數。

以下是創建ndarray的幾個方法。

1、直接創建

# 首先需要導入numpy模塊
import numpy as np

# 定義一維數組
arr1 = np.array([1, 2, 3, 4, 5])

# 定義二維數組
arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

2、使用特定的函數

# 創建一個全零的3x3矩陣
zeros = np.zeros((3,3))

# 創建一個全1的5個元素的一維數組
ones = np.ones(5)

# 創建單位矩陣
eye = np.eye(3)

三、NumPy中的數組計算

NumPy提供了非常豐富的數組計算功能。數組之間的計算可以使用基本的算術運算符(如 +、-、*、/),而且可以對數組中的每個元素進行計算。

以下是幾個對數組進行計算的示例。

1、逐元素計算

import numpy as np

arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([2, 4, 6, 8, 10])

# 逐元素相加
result = arr1 + arr2

# 逐元素相減
result = arr2 - arr1

# 逐元素相乘
result = arr1 * arr2

# 逐元素相除
result = arr2 / arr1

2、數學計算函數

NumPy還提供了很多數學計算函數,可以直接進行調用。以下是一些常見的數學計算函數。

import numpy as np

# 求平方根
result = np.sqrt(arr1)

# 求正弦值
result = np.sin(arr1)

# 求反正切值
result = np.arctan(arr1)

# 求指數
result = np.exp(arr1)

# 求自然對數
result = np.log(arr1)

四、NumPy數組的索引和切片操作

NumPy數組的索引和切片操作跟Python的列表非常相似。ndarray對象是基於多維數組的,所以需要用方括號來指定每個維度的索引。同時,可以使用切片操作來獲取數組中的部分數據。

以下是一些示例代碼。

1、對一維數組進行索引和切片操作

import numpy as np

arr1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

# 獲取第3個元素
print(arr1[2])  # 輸出3

# 獲取第2到4個元素(不包括第4個)
print(arr1[1:3])  # 輸出[2 3]

# 獲取第一個到倒數第二個元素(不包括倒數第一個)
print(arr1[:-1])  # 輸出[1 2 3 4 5 6 7 8]

2、對二維數組進行索引和切片操作

import numpy as np

arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 獲取第2行第3列的元素
print(arr2[1, 2])  # 輸出6

# 獲取第1行的所有元素
print(arr2[0, :])  # 輸出[1 2 3]

# 獲取第2和第3行的所有元素
print(arr2[1:, :])  # 輸出[[4 5 6] [7 8 9]]

五、NumPy中的矩陣運算

NumPy還提供了大量的矩陣運算功能,可以使用dot()函數來進行矩陣乘法的運算。在使用此函數之前,需要保證兩個矩陣的行列數正確才能進行乘法運算。

以下是一些示例代碼。

1、進行矩陣乘法運算

import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8], [9, 10], [11, 12]])

# 進行乘法運算
result = np.dot(arr1, arr2)

print(result)
# 輸出[[ 58  64]
#     [139 154]]

2、進行矩陣的轉置

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

# 進行轉置
result = arr.T

print(result)
# 輸出[[1 4]
#     [2 5]
#     [3 6]]

六、總結

本文簡單介紹了NumPy的基礎知識,包括了NumPy庫的定義和作用、ndarray數組的屬性和創建方法、數組的計算、數組的索引和切片操作、以及矩陣的運算。對於初學者來說,這些基礎知識是非常重要的,是使用NumPy進行科學計算和數據分析的前置知識。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/288483.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 02:59
下一篇 2024-12-24 02:59

相關推薦

  • Python矩陣轉置函數Numpy

    本文將介紹如何使用Python中的Numpy庫實現矩陣轉置。 一、Numpy庫簡介 在介紹矩陣轉置之前,我們需要了解一下Numpy庫。Numpy是Python語言的計算科學領域的基…

    編程 2025-04-28
  • Python元祖排序:從基礎知識到高級應用

    Python元祖是一種不可變序列,通常用於將一組數據綁定在一起。元祖之間經常需要排序,本文將從基礎知識到高級應用,為你詳細講解Python元祖排序。 一、排序方法 Python提供…

    編程 2025-04-28
  • Python列錶轉numpy數組

    本文將闡述Python中列表如何轉換成numpy數組。在科學計算和數據分析領域中,numpy數組扮演着重要的角色。Python與numpy的無縫結合使得數據操作更加方便和高效。因此…

    編程 2025-04-27
  • 計算機二級基礎知識題庫

    計算機二級基礎知識題庫考試為計算機二級考試的必修科目之一,其中包含了計算機的基本知識以及應用能力等內容。本文將從題庫概述、考試內容、備考建議以及編程實例等幾個方面進行介紹,希望對廣…

    編程 2025-04-27
  • Python三大:NumPy、Pandas、matplotlib

    本文將詳細介紹三大Python數據處理及可視化庫——NumPy、Pandas以及matplotlib,為讀者提供從基礎使用到應用場景的全面掌握。 一、NumPy NumPy是Pyt…

    編程 2025-04-27
  • numpy中np.sort函數返回索引的使用方法

    本文將會提供關於使用numpy中np.sort函數返回索引的詳細解釋和使用方法 一、np.sort函數返回索引的基本語法 numpy中的np.sort函數可以將數組按照從小到大的順…

    編程 2025-04-25
  • NumPy的delete函數詳解

    一、delete函數簡介 NumPy是Python中常用的科學計算庫,它提供了許多方便的函數和工具來處理數值數據。其中,delete函數是一個用於刪除數組中某些元素的函數。其函數原…

    編程 2025-04-24
  • numpy ravel函數

    一、ravel函數的簡介 在NumPy中,ravel函數的作用是將一個多維數組壓縮成一維數組。這個函數返回一個扁平化之後的一維數組,這個數組會參考原始數組的內存結構,所以它會返回一…

    編程 2025-04-24
  • 軟件測試理論基礎知識

    一、測試概述 軟件測試是指在已知測試用例的前提下,檢查軟件是否滿足規定的功能和質量要求的過程。 軟件測試的目的是要發現並糾正可能存在的缺陷。它涉及軟件開發周期的各個階段,從需求分析…

    編程 2025-04-23
  • numpy dot詳解

    一、dot的介紹 numpy中的dot函數是矩陣的乘法運算符,也可以描述為矩陣的點積運算。它的作用是將兩個數組中的對應元素相乘,然後將結果相加。在機器學習和深度學習中,矩陣運算通常…

    編程 2025-04-23

發表回復

登錄後才能評論