Python Numpy數組:高效可靠的數據存儲和處理工具

隨著大數據時代和人工智慧的快速發展,數據處理和分析成為了數據科學家和程序員們的日常工作之一。在Python中,Numpy(Numerical Python)是一個很常用的庫,用於高效而可靠地存儲和處理數據。

一、基本介紹

Numpy是一個開源的庫,支持Python語言用於數值計算、科學計算和數據分析。Numpy由多維數組對象和一組用於操作數組的函數構成,數組是一個通用的數據結構,用於存儲元素的集合,這些元素可以是數字,字元串或其他任何對象。

Numpy的優勢在於其性能和效率:它允許開發人員在Python中高效地執行大量的數值操作,尤其適用於數組和矩陣計算。由於其採用了C語言作為內部實現,Numpy的執行速度比傳統的Python方法更快。

在使用Numpy之前,需要先安裝Numpy庫。可以使用以下命令安裝:

pip install numpy

二、Numpy數組的創建

Numpy數組的創建非常簡單,可以從已有數組創建、從Python列表、元組中創建或者使用專門的函數進行創建。

1. 從已有數組創建

可以使用numpy.asarray()函數從已有數組創建數組:

import numpy as np
a = np.array([1, 2, 3])
b = np.asarray(a)
print(b)

輸出結果為:[1 2 3]

2. 從Python列表、元組中創建

可以使用numpy.array()函數從Python列表、元組中創建數組:

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

輸出結果為:
[1 2 3]
[[1 2 3]
[4 5 6]]

3. 使用專門的函數進行創建

Numpy提供了一些函數,用於創建特定的數組,例如numpy.zeros()、numpy.ones()、numpy.empty()、numpy.arange()、numpy.linspace()

import numpy as np
a = np.zeros((2,3))
b = np.ones((2,3))
c = np.empty((2,3))
d = np.arange(1, 11, 2)
e = np.linspace(0, 1, num=5)
print(a)
print(b)
print(c)
print(d)
print(e)

輸出結果為:
[[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]]
[[1.00000000e+000 1.00000000e+000 2.24982284e-314]
[1.79769313e+308 1.00000000e+000 0.00000000e+000]]
[1 3 5 7 9]
[0. 0.25 0.5 0.75 1.]

三、Numpy數組的操作

1. 訪問數組元素

可以使用下標訪問數組元素:

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

輸出結果為:
1
6

2. 數組切片

Numpy數組支持和Python列表一樣的切片操作:

import numpy as np
a = np.array([(1, 2, 3), (4, 5, 6)])
print(a[0:2, 0:2])

輸出結果為:
[[1 2]
[4 5]]

3. 數組形狀操作

Numpy數組可以通過reshape()函數改變形狀,或者使用flatten()函數將多維數組轉換為一維數組。

import numpy as np
a = np.array([(1, 2, 3), (4, 5, 6)])
print(a.shape)
b = a.reshape(3, 2)
print(b)
c = a.flatten()
print(c)

輸出結果為:
(2, 3)
[[1 2]
[3 4]
[5 6]]
[1 2 3 4 5 6]

四、Numpy數組的計算

Numpy數組支持多種數學計算功能,包括基本的數學運算、矩陣計算、統計計算、排序等。

1. 基本數學運算

可以對Numpy數組進行基本的算術運算,例如加減乘除、乘方運算、取模運算等:

import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a + b
d = a - b
e = a * b
f = b / a
g = a ** 2
h = b % a
print(c)
print(d)
print(e)
print(f)
print(g)
print(h)

輸出結果為:
[5 7 9]
[-3 -3 -3]
[ 4 10 18]
[4. 2.5 2.]
[1 4 9]
[0 1 0]

2. 矩陣計算

Numpy數組支持矩陣的加減乘除,可以使用np.dot()函數進行矩陣乘積計算:

import numpy as np
a = np.array([(1, 2), (3, 4)])
b = np.array([(5, 6), (7, 8)])
c = a + b
d = a - b
e = np.dot(a, b)
f = np.linalg.det(a)
g = np.linalg.inv(a)
print(c)
print(d)
print(e)
print(f)
print(g)

輸出結果為:
[[ 6 8]
[10 12]]
[19 22]
-2.0000000000000004
[[-2. 1.]
[ 1.5 -0.5]]

3. 統計計算

Numpy數組可以進行統計計算,例如計算平均值、方差、標準差、最大值、最小值等:

import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
b = np.mean(a)
c = np.var(a)
d = np.std(a)
e = np.max(a)
f = np.min(a)
print(b)
print(c)
print(d)
print(e)
print(f)

輸出結果為:
5.5
8.25
2.8722813232690143
10
1

4. 數組排序

Numpy數組可以進行排序,可以使用sort()函數進行排序:

import numpy as np
a = np.array([3, 6, 1, 8, 2, 9])
b = np.sort(a)
print(b)

輸出結果為:
[1 2 3 6 8 9]

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-07 17:51
下一篇 2024-12-08 14:16

相關推薦

  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python去掉數組的中括弧

    在Python中,被中括弧包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括弧。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python二維數組對齊輸出

    本文將從多個方面詳細闡述Python二維數組對齊輸出的方法與技巧。 一、格式化輸出 Python中提供了格式化輸出的方法,可以對輸出的字元串進行格式化處理。 names = [‘A…

    編程 2025-04-29
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28
  • Python數組隨機分組用法介紹

    Python數組隨機分組是一個在數據分析與處理中常用的技術,它可以將一個大的數據集分成若干組,以便於進行處理和分析。本文將從多個方面對Python數組隨機分組進行詳細的闡述,包括使…

    編程 2025-04-28
  • Python數組索引位置用法介紹

    Python是一門多用途的編程語言,它有著非常強大的數據處理能力。數組是其中一個非常重要的數據類型之一。Python支持多種方式來操作數組的索引位置,我們可以從以下幾個方面對Pyt…

    編程 2025-04-28
  • Python語言數組從大到小排序符號的用法介紹

    當我們使用Python進行編程的時候,經常需要對數組進行排序從而使數組更加有序,而數組的排序方式有很多,其中從大到小排序符號是一種常見的排序方式。本文將從多個方面對Python語言…

    編程 2025-04-28
  • Oliver Assurance:可靠、智能的保險解決方案

    Oliver Assurance是一家基於人工智慧技術的保險解決方案提供商。其旨在通過技術手段,讓保險行業更加透明、高效、可靠。下面我們將從多個方面對Oliver Assuranc…

    編程 2025-04-28

發表回復

登錄後才能評論