成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用 NumPy 進行科學計算的 12 個核心功能

開發 后端
本文介紹了 NumPy 的 12 個核心功能,通過這些功能,你可以在科學計算中更加高效地處理數據。

NumPy 是 Python 中用于科學計算的一個非常強大的庫。它提供了多維數組對象、各種派生對象(如掩碼數組和矩陣),以及用于數組快速操作的各種函數。今天,我們就來一起學習 NumPy 的 12 個核心功能,幫助你在科學計算中更加得心應手。

1. 創建數組

NumPy 最基本的功能之一就是創建數組。你可以使用 numpy.array 函數從列表或其他序列類型的數據創建數組。

import numpy as np

# 從列表創建一維數組
a = np.array([1, 2, 3, 4])
print(a)  # 輸出: [1 2 3 4]

# 從嵌套列表創建二維數組
b = np.array([[1, 2], [3, 4]])
print(b)
# 輸出:
# [[1 2]
#  [3 4]]

2. 數組的形狀和大小

了解數組的形狀和大小對于處理數據非常重要。你可以使用 shape 屬性來獲取數組的形狀,使用 size 屬性來獲取數組中的元素總數。

# 獲取數組的形狀
print(a.shape)  # 輸出: (4,)
print(b.shape)  # 輸出: (2, 2)

# 獲取數組的大小
print(a.size)   # 輸出: 4
print(b.size)   # 輸出: 4

3. 數組的重塑

有時候你需要改變數組的形狀,這時候可以使用 reshape 方法。

# 重塑數組
c = a.reshape(2, 2)
print(c)
# 輸出:
# [[1 2]
#  [3 4]]

# 驗證形狀是否改變
print(c.shape)  # 輸出: (2, 2)

4. 數組的索引和切片

NumPy 數組支持多種索引和切片方式,類似于 Python 列表,但更強大。

# 一維數組的索引
print(a[0])  # 輸出: 1

# 一維數組的切片
print(a[1:3])  # 輸出: [2 3]

# 二維數組的索引
print(b[0, 1])  # 輸出: 2

# 二維數組的切片
print(b[0:2, 1])  # 輸出: [2 4]

5. 數組的運算

NumPy 支持多種數組運算,包括加法、減法、乘法和除法等。

# 數組加法
d = a + a
print(d)  # 輸出: [2 4 6 8]

# 數組乘法
e = a * 2
print(e)  # 輸出: [2 4 6 8]

# 數組點積
f = np.dot(a, b)
print(f)  # 輸出: [14 32]

6. 布爾索引

布爾索引是一種非常強大的工具,可以用來根據條件選擇數組中的元素。

# 布爾索引
g = a > 2
print(g)  # 輸出: [False False  True  True]

# 使用布爾索引選擇元素
h = a[g]
print(h)  # 輸出: [3 4]

7. 數組的排序

NumPy 提供了多種排序方法,例如 sort 和 argsort。

# 排序數組
i = np.sort(a)
print(i)  # 輸出: [1 2 3 4]

# 獲取排序后的索引
j = np.argsort(a)
print(j)  # 輸出: [0 1 2 3]

8. 數組的統計函數

NumPy 提供了許多統計函數,如 mean、median、std 等。

# 計算平均值
k = np.mean(a)
print(k)  # 輸出: 2.5

# 計算中位數
l = np.median(a)
print(l)  # 輸出: 2.5

# 計算標準差
m = np.std(a)
print(m)  # 輸出: 1.118033988749895

9. 數組的廣播

廣播是 NumPy 中一個非常重要的概念,它允許不同形狀的數組進行運算。

# 廣播示例
n = np.array([[1, 2], [3, 4]])
o = np.array([10, 20])
p = n + o
print(p)
# 輸出:
# [[11 22]
#  [13 24]]

10. 數組的合并和拆分

NumPy 提供了多種方法來合并和拆分數組,如 concatenate、vstack、hstack 等。

# 合并數組
q = np.array([5, 6])
r = np.concatenate((a, q))
print(r)  # 輸出: [1 2 3 4 5 6]

# 拆分數組
s = np.split(r, 2)
print(s)
# 輸出:
# [array([1, 2, 3]), array([4, 5, 6])]

11. 數組的隨機數生成

NumPy 提供了多種生成隨機數的方法,如 random.rand、random.randint 等。

# 生成隨機數組
t = np.random.rand(3, 3)
print(t)
# 輸出:
# [[0.12345678 0.98765432 0.54321098]
#  [0.65432109 0.78901234 0.23456789]
#  [0.34567890 0.45678901 0.56789012]]

# 生成隨機整數數組
u = np.random.randint(0, 10, size=(3, 3))
print(u)
# 輸出:
# [[7 2 5]
#  [9 4 1]
#  [8 3 6]]

12. 數組的線性代數運算

NumPy 提供了豐富的線性代數運算函數,如 dot、inv、det 等。

# 計算矩陣的逆
v = np.array([[1, 2], [3, 4]])
w = np.linalg.inv(v)
print(w)
# 輸出:
# [[-2.   1. ]
#  [ 1.5 -0.5]]

# 計算行列式
x = np.linalg.det(v)
print(x)  # 輸出: -2.0

實戰案例:圖像處理

假設我們有一個灰度圖像,存儲為一個二維數組。我們需要將圖像中的所有像素值歸一化到 0 到 1 之間。

# 生成一個模擬的灰度圖像
image = np.random.randint(0, 256, size=(100, 100))

# 歸一化圖像
normalized_image = image / 255.0

# 打印歸一化后的圖像
print(normalized_image)

在這個案例中,我們使用了 NumPy 的數組運算和廣播功能,將圖像中的所有像素值歸一化到 0 到 1 之間。這在圖像處理中是一個常見的預處理步驟。

總結

本文介紹了 NumPy 的 12 個核心功能,包括創建數組、數組的形狀和大小、數組的重塑、索引和切片、數組的運算、布爾索引、排序、統計函數、廣播、合并和拆分、隨機數生成以及線性代數運算。通過這些功能,你可以在科學計算中更加高效地處理數據。

責任編輯:趙寧寧 來源: 手把手PythonAI編程
相關推薦

2022-04-12 08:09:22

Nodejs前端面試題

2024-10-29 16:06:27

2023-08-04 14:31:43

Python核心項目

2009-11-18 13:11:29

PHP核心

2010-01-27 17:38:58

Windows Emb

2024-02-29 07:48:55

Python編程語言上下文管理器

2020-12-14 16:35:51

物聯網萬物互聯智能制造

2010-02-07 14:16:57

2024-04-23 00:00:00

SpringBoot監聽器

2010-04-07 09:31:06

2023-03-01 08:15:10

NginxNacos

2011-05-26 17:19:05

中間件

2010-09-22 15:31:05

OracleSPARCSolaris

2023-10-10 14:56:27

物聯網智能建筑智能樓宇

2013-02-28 14:52:29

VMware

2011-03-07 09:55:56

2019-08-15 10:29:35

物聯網卡物聯網平臺

2023-02-23 08:15:33

Spring異常處理機制

2020-03-10 08:55:50

PandasNumPy函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区四区在线 | 中文字幕亚洲欧美 | 亚洲在线久久 | 中国一级特黄毛片大片 | 北条麻妃国产九九九精品小说 | 中文字幕在线一区二区三区 | 欧美一级二级视频 | 精品欧美一区免费观看α√ | 久久精品免费 | 黄色成人在线 | 成人免费视频网站在线看 | 激情五月综合网 | 99国产精品一区二区三区 | 午夜在线影院 | 久久中文免费视频 | 久热免费 | 欧美亚洲网站 | 久久久亚洲综合 | 免费成人高清 | www.成人.com| 精品国产乱码久久久久久老虎 | av资源中文在线 | 亚洲色图插插插 | 欧美1区 | 久久精品中文字幕 | 美女一级毛片 | 精品欧美一区免费观看α√ | 午夜视频一区二区三区 | 看av网| 中文字幕在线网 | 成人h动漫亚洲一区二区 | 国产区视频在线观看 | 婷婷在线网站 | 激情一区二区三区 | 国产精品美女久久久 | 精品国产第一区二区三区 | 精品欧美一区免费观看α√ | 国产精品视频在线免费观看 | 91中文在线观看 | 91免费看片 | 91久久婷婷|