【自學筆記】Numpy基礎知識點總覽-持續更新

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • Numpy基礎知識點總覽
    • 目錄
    • 1. 簡介
      • Numpy是什么
      • 為什么使用Numpy
    • 2. 數組對象(ndarray)
      • 創建數組
      • 數組的屬性
      • 數組的形狀操作
    • 3. 數組的基本操作
      • 數組索引與切片
      • 數組的形狀改變
      • 數組的類型轉換
    • 4. 數學函數與統計方法
      • 數組元素的數學運算
      • 統計函數
      • 線性代數運算
    • 5. 廣播機制
      • 什么是廣播
      • 廣播的規則與示例
    • 6. 文件操作
      • 讀取與保存數組到文件
    • 7. 隨機數的生成
      • 生成隨機數的方法
  • 總結


Numpy基礎知識點總覽

目錄

  1. 簡介

    • Numpy是什么
    • 為什么使用Numpy
  2. 數組對象(ndarray)

    • 創建數組
    • 數組的屬性
    • 數組的形狀操作
  3. 數組的基本操作

    • 數組索引與切片
    • 數組的形狀改變
    • 數組的類型轉換
  4. 數學函數與統計方法

    • 數組元素的數學運算
    • 統計函數
    • 線性代數運算
  5. 廣播機制

    • 什么是廣播
    • 廣播的規則與示例
  6. 文件操作

    • 讀取與保存數組到文件
  7. 隨機數的生成

    • 生成隨機數的方法

1. 簡介

Numpy是什么

Numpy(Numerical Python)是Python的一個開源數值計算擴展庫,用于存儲和處理大型矩陣。它提供了大量的數學函數和操作這些矩陣的方法。

為什么使用Numpy

  • Numpy數組在存儲和計算大型數據時比Python原生列表更高效。
  • Numpy提供了大量的數學函數和線性代數運算,簡化了科學計算。

2. 數組對象(ndarray)

創建數組

import numpy as np# 一維數組
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1)# 二維數組
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2)# 使用特殊函數創建數組
zeros = np.zeros((2, 3))  # 創建一個2x3的零數組
ones = np.ones((2, 3))    # 創建一個2x3的全1數組
print(zeros)
print(ones)

數組的屬性

print(arr2.shape)       # 輸出數組的形狀
print(arr2.dtype)       # 輸出數組的數據類型
print(arr2.size)        # 輸出數組的元素個數
print(arr2.ndim)        # 輸出數組的維度

數組的形狀操作

# 改變數組的形狀
arr2_reshaped = arr2.reshape((3, 2))
print(arr2_reshaped)# 數組轉置
arr2_transposed = arr2.T
print(arr2_transposed)

3. 數組的基本操作

數組索引與切片

# 一維數組索引與切片
print(arr1[0])          # 輸出第一個元素
print(arr1[1:4])        # 輸出第二個到第四個元素# 二維數組索引與切片
print(arr2[0, 1])       # 輸出第一行第二列的元素
print(arr2[0, :])       # 輸出第一行的所有元素
print(arr2[:, 1])       # 輸出所有行的第二列元素

數組的形狀改變

# 使用ravel()將二維數組展平為一維數組
arr2_flattened = arr2.ravel()
print(arr2_flattened)# 使用resize()改變數組的形狀
arr2.resize((3, 1))
print(arr2)

數組的類型轉換

# 將數組轉換為浮點型
arr2_float = arr2.astype(np.float64)
print(arr2_float)

4. 數學函數與統計方法

數組元素的數學運算

# 元素級運算
arr3 = np.array([1, 2, 3])
arr4 = np.array([4, 5, 6])
print(arr3 + arr4)  # 對應元素相加
print(arr3 * arr4)  # 對應元素相乘

統計函數

# 計算數組的基本統計量
print(np.mean(arr1))       # 平均值
print(np.median(arr1))     # 中位數
print(np.std(arr1))        # 標準差
print(np.var(arr1))        # 方差
print(np.max(arr1))        # 最大值
print(np.min(arr1))        # 最小值

線性代數運算

# 創建兩個矩陣
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])# 矩陣乘法
print(np.dot(A, B))# 矩陣的逆
print(np.linalg.inv(A))

5. 廣播機制

什么是廣播

廣播是numpy中用于在不同形狀的數組之間執行算術運算的一種機制。

廣播的規則與示例

# 示例1:一維數組與標量運算
arr5 = np.array([1, 2, 3])
print(arr5 + 10)  # 每個元素都加上10# 示例2:形狀兼容的數組運算
arr6 = np.array([[1, 2], [3, 4]])
arr7 = np.array([5, 6])
print(arr6 + arr7)  # arr7會被廣播到與arr6相同的形狀

6. 文件操作

讀取與保存數組到文件

# 保存數組到文本文件
np.savetxt('array.txt', arr2, delimiter=',')# 從文本文件讀取數組
loaded_array = np.loadtxt('array.txt', delimiter=',')
print(loaded_array)

7. 隨機數的生成

生成隨機數的方法

# 生成一個0到1之間的隨機浮點數
print(np.random.rand())# 生成一個指定形狀的數組,數組元素為0到1之間的隨機浮點數
print(np.random.rand(2, 3))# 生成一個指定范圍內的隨機整數
print(np.random.randint(low=0, high=10, size=(2, 3)))# 生成一個服從正態分布的隨機數數組
print(np.random.randn(2, 3))

希望這份Numpy基礎知識點總覽和代碼示例能幫助你更好地學習和分享Numpy的相關知識。如果有任何疑問或需要進一步的解釋,請隨時提問。

總結

提示:這里對文章進行總結:
例如:以上就是今天要講的內容,自學記錄Numpy基礎知識點總覽。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72870.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72870.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72870.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kubernetes中的 iptables 規則介紹

#作者:鄧偉 文章目錄 一、Kubernetes 網絡模型概述二、iptables 基礎知識三、Kubernetes 中的 iptables 應用四、查看和調試 iptables 規則五、總結 在 Kubernetes 集群中,iptables 是一個核心組件, 用于實現服務發現和網絡策略。iptables 通…

.NET Core全屏截圖,C#全屏截圖

.NET Core全屏截圖,C#全屏截圖 使用框架: WPF.NET 8 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Text; using System.Threading.Tasks; using System.W…

Java直通車系列15【Spring MVC】(ModelAndView 使用)

目錄 1. ModelAndView 概述 2. ModelAndView 的主要屬性和方法 主要屬性 主要方法 3. 場景示例 示例 1:簡單的 ModelAndView 使用 示例 2:使用 ModelAndView 處理列表數據 示例 3:使用 ModelAndView 處理異常情況 1. ModelAndView 概…

視頻圖像刷新到HTTP的原理

上一篇博客已經說了cgi拿到了共享內存的程序還需要處理的才能夠真正刷新到網頁里面去 HTTP協議介紹 HTTP中文名稱是超文本傳輸協議,它是一個簡單的請求.響應協議,HTTP協議它運行在TCP上面,它是互聯網數據通信的基礎。 幾乎所有的網頁請求和互…

2024四川大學計算機考研復試上機真題

2024四川大學計算機考研復試上機真題 2024四川大學計算機考研復試機試真題 歷年四川大學計算機考研復試機試真題 在線評測:https://app2098.acapp.acwing.com.cn/ 分數求和 題目描述 有一分數序列: 2/1 3/2 5/3 8/5 13/8 21/13… 求出這個數列的前 …

Python評估網絡脆弱性

一、網絡安全 (1)網絡安全的定義 網絡安全是指計算機網絡系統中的硬件、數據、程序等不會因為無意或惡意的原因而遭到破壞、篡改、泄露,防止非授權的使用或訪問,系統能夠保持服務的連續性,以及能夠可靠的運行。網絡安…

Java后端高頻面經——Spring、SpringBoot、MyBatis

Spring定義一個Bean有哪些方法?依賴注入有哪些方法? (1)定義Bean的方法 注解定義Bean,Component 用于標記一個類作為Spring的bean。當一個類被Component注解標記時,Spring會將其實例化為一個bean&#xff0…

Qt 實現繪圖板(支持橡皮擦與 Ctrl+Z 撤銷功能)[特殊字符]

作業&#xff1a; 1&#xff1a;實現繪圖的時候&#xff0c;顏色的隨時調整 2&#xff1a;追加橡皮擦功能 3&#xff1a;配合鍵盤事件&#xff0c;實現功能 當鍵盤按 ctrlz的時候&#xff0c;撤銷最后一次繪圖 頭文件.h #ifndef WIDGET_H #define WIDGET_H#include <QWidge…

計算機網絡(1) 網絡通信基礎,協議介紹,通信框架

網絡結構模式 C/S-----客戶端和服務器 B/S -----瀏覽器服務器 MAC地址 每一個網卡都擁有獨一無二的48位串行號&#xff0c;也即MAC地址&#xff0c;也叫做物理地址、硬件地址或者是局域網地址 MAC地址表示為12個16進制數 如00-16-EA-AE-3C-40 &#xff08;每一個數可以用四個…

HOW - React 如何在在瀏覽器繪制之前同步執行 - useLayoutEffect

目錄 useEffect vs useLayoutEffectuseEffectuseLayoutEffect主要區別總結選擇建議注意事項 useLayoutEffect 使用示例測量 DOM 元素的尺寸和位置示例&#xff1a;自適應彈出框定位 同步更新樣式以避免閃爍示例&#xff1a;根據內容動態調整容器高度 圖像或 Canvas 繪制前的準備…

【無人機三維路徑規劃】基于CPO冠豪豬優化算法的無人機三維路徑規劃Maltab

代碼獲取基于CPO冠豪豬優化算法的無人機三維路徑規劃Maltab 基于CPO冠豪豬優化算法的無人機三維路徑規劃 一、CPO算法的基本原理與核心優勢 冠豪豬優化算法&#xff08;Crested Porcupine Optimizer, CPO&#xff09;是一種新型元啟發式算法&#xff0c;其靈感來源于冠豪豬的…

深度學習驅動的智能化革命:從技術突破到行業實踐

第一章 深度學習的技術演進與核心架構 1.1 從淺層網絡到深度學習的范式轉變 深度學習的核心在于通過多層次非線性變換自動提取數據特征,其發展歷程可劃分為三個階段:符號主義時代的規則驅動(1950s-1980s)、連接主義時代的淺層網絡(1990s-2000s)以及深度學習時代的端到端…

簡潔實用的3個免費wordpress主題

高端大氣動態炫酷的免費企業官網wordpress主題 非常簡潔的免費wordpress主題&#xff0c;安裝簡單、設置簡單&#xff0c;幾分鐘就可以搭建好一個wordpress網站。 經典風格的免費wordpress主題 免費下載 https://www.fuyefa.com/wordpress

RabbitMQ 高級特性解析:RabbitMQ 消息可靠性保障 (上)

RabbitMQ 核心功能 RabbitMQ 高級特性解析&#xff1a;RabbitMQ 消息可靠性保障 &#xff08;上&#xff09;-CSDN博客 RabbitMQ 高級特性&#xff1a;從 TTL 到消息分發的全面解析 &#xff08;下&#xff09;-CSDN博客 前言 最近再看 RabbitMQ&#xff0c;看了看自己之前寫…

用DeepSeek-R1-Distill-data-110k蒸餾中文數據集 微調Qwen2.5-7B-Instruct!

下載模型與數據 模型下載&#xff1a; huggingface&#xff1a; Qwen/Qwen2.5-7B-Instruct HF MirrorWe’re on a journey to advance and democratize artificial intelligence through open source and open science.https://hf-mirror.com/Qwen/Qwen2.5-7B-Instruct 魔搭&a…

在IDEA中進行git回滾操作:Reset current branch to here?或Reset HEAD

問題描述 1&#xff09;在本地修改好的代碼&#xff0c;commit到本地倉庫&#xff0c;突然發覺有問題不想push推到遠程倉庫了&#xff0c;但它一直在push的列表中存在&#xff0c;那該怎么去掉push列表中的內容呢&#xff1f; 2&#xff09;合并別的分支到當前分支&#xff0…

六十天前端強化訓練之第十一天之事件機制超詳解析

歡迎來到編程星辰海的博客講解 目錄 一、事件模型演進史 1.1 原始事件模型&#xff08;DOM Level 0&#xff09; 1.2 DOM Level 2事件模型 1.3 DOM Level 3事件模型 二、事件流深度剖析 2.1 捕獲與冒泡對比實驗 2.2 事件終止方法對比 三、事件委托高級應用 3.1 動態元…

Qwen架構與Llama架構的核心區別

我們在討論Deepseek不同版本之間的區別時了解到,DeepSeek-R1的蒸餾模型分為Qwen和Llama兩個系列,包括Qwen系列的0.5B、1.5B、3B、7B、14B、32B、72B和Llama系列的8B、70B。Qwen系列以阿里通義千問(Qwen)為基礎模型架構(具體是Qwen-2.5),Llama系列以Meta的Llama為基礎模型…

匿名GitHub鏈接使用教程(Anonymous GitHub)2025

Anonymous GitHub 1. 引言2. 準備3. 進入Anonymous GitHub官網4. 用GitHub登錄匿名GitHub并授權5. 進入個人中心&#xff0c;然后點擊? Anonymize Repo實例化6. 輸入你的GitHub鏈接7. 填寫匿名鏈接的基礎信息8. 提交9. 實例化對應匿名GitHub鏈接10. 進入個人中心管理項目11. 查…

工程化與框架系列(25)--低代碼平臺開發

低代碼平臺開發 &#x1f527; 引言 低代碼開發平臺是一種通過可視化配置和少量代碼實現應用開發的技術方案。本文將深入探討低代碼平臺的設計與實現&#xff0c;包括可視化編輯器、組件系統、數據流管理等關鍵主題&#xff0c;幫助開發者構建高效的低代碼開發平臺。 低代碼…