偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

數(shù)據(jù)科學(xué)的基石:十個必學(xué) NumPy 操作詳解

開發(fā)
本文介紹 NumPy 中最常用的十個操作,這些操作在數(shù)據(jù)分析和科學(xué)計算中非常實用。

NumPy是Python中用于科學(xué)計算的基礎(chǔ)庫,提供了高性能的多維數(shù)組對象和處理這些數(shù)組的工具。本文介紹NumPy中最常用的10個操作,這些操作在數(shù)據(jù)分析和科學(xué)計算中非常實用。

1. 創(chuàng)建數(shù)組

NumPy提供了多種創(chuàng)建數(shù)組的方法,最基本的是使用np.array()函數(shù):

import numpy as np

# 創(chuàng)建一維數(shù)組
arr1 = np.array([1, 2, 3, 4, 5])

# 創(chuàng)建二維數(shù)組
arr2 = np.array([[1, 2, 3], [4, 5, 6]])

# 創(chuàng)建全零數(shù)組
zeros = np.zeros((3, 3))

# 創(chuàng)建全一數(shù)組
ones = np.ones((2, 2))

# 創(chuàng)建等差數(shù)列
arange = np.arange(10)

這些方法可以幫助我們快速創(chuàng)建不同類型的數(shù)組,適用于各種數(shù)據(jù)處理場景。

2. 數(shù)組的基本屬性和索引

了解數(shù)組的基本屬性和如何訪問數(shù)組元素是使用NumPy的基礎(chǔ):

# 查看數(shù)組維度
print(arr2.ndim)

# 查看數(shù)組形狀
print(arr2.shape)

# 查看數(shù)組元素總數(shù)
print(arr2.size)

# 查看數(shù)組元素類型
print(arr2.dtype)

# 訪問單個元素
print(arr2[0, 0])

# 訪問一整行
print(arr2[0, :])

# 訪問一整列
print(arr2[:, 1])

# 切片操作
print(arr2[1:, 1:])

這些操作讓我們能夠了解數(shù)組的結(jié)構(gòu)并精確地訪問數(shù)組中的元素。

3. 數(shù)組運算

NumPy支持?jǐn)?shù)組的各種數(shù)學(xué)運算,無需使用循環(huán)即可對整個數(shù)組進(jìn)行操作:

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

# 數(shù)組加法
print(a + b)

# 數(shù)組減法
print(a - b)

# 數(shù)組乘法(元素級別)
print(a * b)

# 數(shù)組除法
print(a / b)

# 矩陣乘法
print(np.dot(a, b))

這種向量化運算是NumPy高效處理大型數(shù)據(jù)集的關(guān)鍵。

4. 統(tǒng)計函數(shù)

NumPy提供了豐富的統(tǒng)計函數(shù),可以快速計算數(shù)組的統(tǒng)計特性:

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

# 求和
print(np.sum(arr))

# 平均值
print(np.mean(arr))

# 方差和標(biāo)準(zhǔn)差
print(np.var(arr))
print(np.std(arr))

# 最小值和最大值
print(np.min(arr))
print(np.max(arr))

# 最小值和最大值的索引
print(np.argmin(arr))
print(np.argmax(arr))

這些函數(shù)對于數(shù)據(jù)分析和統(tǒng)計工作非常有用。

5. 數(shù)組形狀操作

NumPy允許我們改變數(shù)組的形狀,而不改變其數(shù)據(jù):

arr = np.arange(12)

# 重塑數(shù)組形狀
reshaped = arr.reshape(3, 4)

# 轉(zhuǎn)置數(shù)組
transposed = reshaped.T

# 展平數(shù)組
flattened = reshaped.flatten()

這些操作在處理多維數(shù)據(jù)時特別有用,例如圖像處理或深度學(xué)習(xí)。

6. 數(shù)組合并與分割

NumPy提供了多種方法來合并和分割數(shù)組:

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

# 水平合并
horizontal = np.hstack((a, b))
# 或使用
horizontal = np.concatenate((a, b), axis=1)

# 垂直合并
vertical = np.vstack((a, b))
# 或使用
vertical = np.concatenate((a, b), axis=0)

# 水平分割
h_split = np.hsplit(horizontal, 2)

# 垂直分割
v_split = np.vsplit(vertical, 2)

這些操作在處理和組織數(shù)據(jù)集時非常有用。

7. 隨機(jī)數(shù)生成

NumPy的隨機(jī)模塊提供了多種生成隨機(jī)數(shù)的方法:

# 生成0-1之間的隨機(jī)數(shù)
random_array = np.random.random((3, 3))

# 生成正態(tài)分布的隨機(jī)數(shù)
normal_array = np.random.normal(0, 1, (3, 3))

# 生成指定范圍內(nèi)的隨機(jī)整數(shù)
random_integers = np.random.randint(0, 10, (3, 3))

# 生成指定概率分布的隨機(jī)數(shù)
random_choice = np.random.choice([1, 2, 3], size=5, p=[0.1, 0.3, 0.6])

隨機(jī)數(shù)生成在模擬、抽樣和機(jī)器學(xué)習(xí)中廣泛應(yīng)用。

8. 線性代數(shù)操作

NumPy提供了豐富的線性代數(shù)函數(shù):

a = np.array([[1, 2], [3, 4]])

# 矩陣的跡
print(np.trace(a))

# 矩陣的行列式
print(np.linalg.det(a))

# 矩陣的逆
print(np.linalg.inv(a))

# 矩陣的特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(a)

# 解線性方程組
b = np.array([5, 6])
x = np.linalg.solve(a, b)

這些操作在科學(xué)計算、工程和數(shù)據(jù)分析中非常重要[2][3]。

9. 數(shù)組的條件操作

NumPy允許我們基于條件對數(shù)組進(jìn)行操作:

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

# 條件索引
print(arr[arr > 2])

# 條件替換
arr[arr > 3] = 10

# 使用where函數(shù)
result = np.where(arr > 2, arr, 0)

# 統(tǒng)計滿足條件的元素個數(shù)
count = np.sum(arr > 2)

這些操作使得數(shù)據(jù)篩選和轉(zhuǎn)換變得簡單高效。

10. 數(shù)組的保存與加載

NumPy提供了保存和加載數(shù)組的功能,便于數(shù)據(jù)的持久化:

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

# 保存數(shù)組到文件
np.save('my_array', arr)

# 從文件加載數(shù)組
loaded_arr = np.load('my_array.npy')

# 保存多個數(shù)組
np.savez('arrays', a=arr, b=arr*2)

# 加載多個數(shù)組
data = np.load('arrays.npz')
a = data['a']
b = data['b']

這些功能對于處理大型數(shù)據(jù)集和模型訓(xùn)練非常有用。

總結(jié)

NumPy提供了豐富的功能,使Python成為科學(xué)計算和數(shù)據(jù)分析的強(qiáng)大工具。上述10個操作是NumPy中最常用的功能,掌握這些操作將大大提高數(shù)據(jù)處理的效率。NumPy的高性能和易用性使其成為Python科學(xué)計算生態(tài)系統(tǒng)的基礎(chǔ),也是其他科學(xué)計算庫(如Pandas、SciPy和Scikit-learn)的核心依賴。

通過熟悉本文的這些操作,我們可以高效地處理大型數(shù)據(jù)集,進(jìn)行復(fù)雜的數(shù)學(xué)計算,以及實現(xiàn)各種數(shù)據(jù)分析和機(jī)器學(xué)習(xí)算法。

責(zé)任編輯:趙寧寧 來源: Python數(shù)智工坊
相關(guān)推薦

2019-09-25 09:20:33

機(jī)器學(xué)習(xí)Python數(shù)據(jù)科學(xué)

2025-06-09 07:35:00

NumPy數(shù)據(jù)分析數(shù)組

2023-10-17 18:07:36

2020-09-08 15:15:06

Python數(shù)據(jù)科學(xué)Python庫

2024-10-21 16:54:43

NumPyPython并行計算

2024-01-12 07:32:35

數(shù)據(jù)科學(xué)Python庫項目

2024-09-13 09:59:27

2025-06-16 08:05:00

Python編程

2024-05-06 11:12:22

圖像處理數(shù)學(xué)計算NumPy

2025-01-20 09:10:00

2023-04-20 10:29:46

數(shù)據(jù)管理數(shù)據(jù)分析

2024-06-28 11:29:20

數(shù)據(jù)學(xué)習(xí)模型機(jī)器學(xué)習(xí)

2024-05-13 11:43:39

Python數(shù)據(jù)分析CSV

2022-02-07 00:05:49

機(jī)器學(xué)習(xí)GitHub工具

2021-01-29 14:38:36

數(shù)據(jù)科學(xué)數(shù)據(jù)科學(xué)家統(tǒng)計學(xué)

2025-06-11 08:25:00

Python編程開發(fā)

2020-08-11 17:14:31

數(shù)據(jù)庫SQL技術(shù)

2023-04-20 18:45:44

2021-12-03 17:13:04

CIO運營IT

2009-11-24 14:52:00

CCNP協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號