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

NumPy 實戰(zhàn):十個高頻操作助你輕松搞定數(shù)據(jù)分析

開發(fā) 數(shù)據(jù)分析
本文將深入剖析 NumPy 中最常用且最重要的十個操作,幫助你快速掌握科學計算的核心技能!

NumPy(Numerical Python)是Python科學計算生態(tài)的核心庫,提供了高性能數(shù)組操作和數(shù)學函數(shù)。相比于Python原生列表,NumPy數(shù)組(ndarray)在內(nèi)存效率和計算速度上都有數(shù)量級的提升。

本文將深入剖析NumPy中最常用且最重要的十個操作,幫助你快速掌握科學計算的核心技能!

1. 數(shù)組的創(chuàng)建與初始化

數(shù)組的創(chuàng)建是所有操作的基礎(chǔ),NumPy提供了多種方式來初始化數(shù)組。

import numpy as np

# 創(chuàng)建全0數(shù)組
zeros = np.zeros((3, 4))  # 3行4列全0矩陣

# 創(chuàng)建全1數(shù)組
ones = np.ones((2, 5))    # 2行5列全1矩陣

# 創(chuàng)建等差數(shù)列
linspace = np.linspace(0, 10, 5)  # 從0到10,分成5個等分

# 創(chuàng)建隨機數(shù)數(shù)組
random = np.random.rand(3, 3)  # 3x3均勻分布隨機數(shù)

# 創(chuàng)建空數(shù)組(未初始化)
empty = np.empty(5)  # 長度為5的空數(shù)組

關(guān)鍵點解析:

  • np.zeros()和np.ones():常用于初始化結(jié)果數(shù)組。
  • np.linspace():適用于生成等間隔樣本。
  • np.random.rand():隨機數(shù)生成是數(shù)據(jù)科學的基礎(chǔ)。

2. 數(shù)組的索引與切片

數(shù)組的索引和切片是數(shù)據(jù)訪問的核心操作。

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

# 單元素索引
print(arr[2])  # 輸出:3

# 切片操作
print(arr[1:4])  # 輸出:[2 3 4]

# 多維數(shù)組切片
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])
print(matrix[1:, 1:])  # 輸出:[[5 6] [8 9]]

關(guān)鍵點解析:

  • NumPy支持多維索引,切片語法與Python列表類似。
  • 切片操作是視圖,不會復制數(shù)據(jù),適用于內(nèi)存優(yōu)化。

3. 數(shù)組的形狀與重塑

數(shù)組的形狀決定了數(shù)據(jù)的組織方式,重塑操作可以改變數(shù)據(jù)的維度。

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

# 查看形狀
print(arr.shape)  # 輸出:(2, 3)

# 改變形狀
reshaped = arr.reshape(3, 2)
print(reshaped)  # 輸出:[[1 2] [3 4] [5 6]]

# 扁平化數(shù)組
flattened = arr.flatten()
print(flattened)  # 輸出:[1 2 3 4 5 6]

關(guān)鍵點解析:

  • reshape():改變數(shù)組維度,但不改變數(shù)據(jù)。
  • flatten():將多維數(shù)組轉(zhuǎn)換為一維數(shù)組。

4. 數(shù)組的數(shù)值運算

NumPy提供了豐富的數(shù)學運算功能,支持向量化操作。

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

# 基本運算
print(arr1 + arr2)  # 輸出:[5 7 9]
print(arr1 * arr2)  # 輸出:[4 10 18]

# 數(shù)學函數(shù)
print(np.sin(arr1))  # 輸出:[0.8415 0.9093 0.1411]
print(np.exp(arr2))  # 輸出:[54.5981 148.4132 403.4288]

關(guān)鍵點解析:

  • NumPy的運算是向量化的,避免了顯式循環(huán),效率極高。
  • np.sin()、np.exp()等函數(shù)支持對整個數(shù)組進行操作。

5. 數(shù)組的統(tǒng)計分析

NumPy提供了豐富的統(tǒng)計函數(shù),適用于數(shù)據(jù)分析。

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

# 基本統(tǒng)計量
print(np.mean(arr))     # 輸出:3.0
print(np.median(arr))   # 輸出:3.0
print(np.std(arr))      # 輸出:1.4142

# 最值運算
print(np.min(arr))      # 輸出:1
print(np.max(arr))      # 輸出:5

# 累積運算
print(np.cumsum(arr))   # 輸出:[1 3 6 10 15]

關(guān)鍵點解析:

  • np.mean()、np.median()等函數(shù)是數(shù)據(jù)分析的基礎(chǔ)。
  • np.cumsum():計算累積和,常用于時間序列分析。

6. 布爾索引與條件篩選

布爾索引是數(shù)據(jù)篩選的核心操作。

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

# 布爾索引
mask = arr > 3
print(arr[mask])  # 輸出:[4 5]

# 條件篩選
filtered = arr[arr % 2 == 0]
print(filtered)    # 輸出:[2 4]

關(guān)鍵點解析:

  • 布爾索引通過布爾數(shù)組(True/False)選擇符合條件的元素。
  • 常用于數(shù)據(jù)清洗和特征篩選。

7. 數(shù)組的隨機數(shù)生成

隨機數(shù)生成是科學計算和機器學習的基礎(chǔ)。

# 生成均勻分布隨機數(shù)
uniform = np.random.rand(3, 3)
print(uniform)  # 輸出:3x3均勻分布隨機數(shù)矩陣

# 生成正態(tài)分布隨機數(shù)
normal = np.random.randn(5)  # 5個標準正態(tài)分布隨機數(shù)
print(normal)

關(guān)鍵點解析:

  • np.random.rand():生成[0,1)區(qū)間均勻分布隨機數(shù)。
  • np.random.randn():生成均值為0,方差為1的正態(tài)分布隨機數(shù)。

8. 數(shù)組的廣播機制

廣播機制是NumPy的核心功能之一,允許不同形狀的數(shù)組進行運算。

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

# 廣播運算
result = arr1 + arr2  # arr2被廣播為3x3矩陣
print(result)

關(guān)鍵點解析:

  • 廣播機制允許形狀不同的數(shù)組進行運算,但需滿足特定規(guī)則。
  • 廣播是臨時的,不會改變數(shù)組的形狀。

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

NumPy支持高效的文件讀寫操作,適用于大數(shù)據(jù)處理。

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

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

關(guān)鍵點解析:

  • .npy文件是NumPy的二進制文件格式,讀寫速度快。
  • 常用于數(shù)據(jù)持久化存儲。

10. 矩陣運算與線性代數(shù)

NumPy提供了強大的線性代數(shù)運算功能。

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

# 矩陣乘法
product = np.dot(matrix1, matrix2)
print(product)

# 特征值分解
eigenvalues, eigenvectors = np.linalg.eig(matrix1)
print(eigenvalues)

關(guān)鍵點解析:

  • np.dot():矩陣乘法,是線性代數(shù)的基礎(chǔ)。
  • np.linalg模塊提供了豐富的線性代數(shù)函數(shù)。

結(jié)語:從操作到實戰(zhàn)的跨越

通過掌握這10個NumPy核心操作,你已經(jīng)具備了進行科學計算和數(shù)據(jù)分析的基礎(chǔ)能力。但需記?。簩嵺`是檢驗真理的唯一標準。建議你:

  • 動手實踐:立即在Jupyter Notebook中復現(xiàn)文中代碼。
  • 結(jié)合業(yè)務(wù):將這些操作應用到實際項目中。
  • 持續(xù)學習:探索NumPy的更多高級功能。
責任編輯:趙寧寧 來源: Python數(shù)智工坊
相關(guān)推薦

2024-01-30 00:36:41

Python機器學習

2024-02-20 14:25:39

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

2024-10-15 10:40:09

2025-05-08 10:20:00

NumPyPython

2020-07-14 08:48:07

數(shù)據(jù)分析技術(shù)IT

2011-03-03 09:12:24

Chrome快捷鍵

2024-09-09 18:18:45

2024-04-28 11:39:17

紹csvkit數(shù)據(jù)分析

2025-06-10 08:25:00

Python文本分析數(shù)據(jù)分析

2023-10-04 00:17:00

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

2023-11-13 08:16:08

MySQL數(shù)據(jù)數(shù)據(jù)庫

2021-12-24 08:18:01

CIO數(shù)據(jù)分析

2023-10-31 19:28:48

GitHub存儲前端

2022-03-08 14:10:10

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

2021-05-14 13:53:28

大數(shù)據(jù)數(shù)據(jù)分析工具

2025-04-16 08:10:00

PandasPython數(shù)據(jù)分析

2010-06-04 09:08:56

2024-09-09 16:50:21

2010-05-27 15:50:39

2023-03-19 22:51:11

可視化項目可視化圖表
點贊
收藏

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

主站蜘蛛池模板: 麻豆久久久9性大片 | 亚洲成人二区 | 日韩免费毛片 | 免费黄色片视频 | 91精品国产综合久久久动漫日韩 | 九热在线| 免费的色网站 | 久久久久久高清 | 国产精品1区2区 | 一级欧美一级日韩片免费观看 | 狠狠色综合久久婷婷 | 久精品视频 | 91久久国产综合久久 | 日韩av免费在线电影 | 免费精品在线视频 | 亚洲欧美激情精品一区二区 | 男插女下体视频 | 日韩在线免费视频 | 蜜臀久久 | 国产在线观看一区二区三区 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 91视频一88av| 中文字幕第十一页 | 久久久久免费 | 五月婷婷导航 | 欧美日韩在线精品 | 蜜桃视频在线观看免费视频网站www | 日韩精品视频中文字幕 | 射久久 | 日韩视频中文字幕 | 亚洲综合二区 | 男人天堂网址 | 日本不卡一区二区 | 特黄色一级毛片 | 成人日韩 | 九九av| 国产欧美一区二区三区免费 | 精品96久久久久久中文字幕无 | 欧美激情国产日韩精品一区18 | 男女网站免费观看 | 亚洲精品久久久蜜桃 |