Numpy科學計算與數據分析:Numpy數據分析基礎之統計函數應用

Numpy統計函數實戰:數據的聚合與分析

學習目標

通過本課程的學習,學員將掌握Numpy中用于統計分析的關鍵函數,如求和(sum)、平均值(mean)、標準差(std)等,能夠熟練地在實際數據集中應用這些函數進行數據的聚合與分析。

相關知識點

Numpy中的統計函數

學習內容

1 Numpy中的統計函數

1.1 Numpy數組的創建與基本操作

在開始學習Numpy的統計函數之前,首先需要了解如何創建Numpy數組以及一些基本的操作。Numpy數組是Numpy庫中最基本的數據結構,它支持高效的數值計算。Numpy數組可以是一維的,也可以是多維的,這取決于數據的需求。

1.1.1 創建Numpy數組

創建Numpy數組最簡單的方法是使用numpy.array()函數,該函數接受一個列表(或列表的列表)作為輸入,并返回一個Numpy數組。例如,創建一個一維數組和一個二維數組:

import numpy as np# 一維數組
one_d_array = np.array([1, 2, 3, 4, 5])
print("一維數組:", one_d_array)# 二維數組
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])
print("二維數組:\n", two_d_array)
1.1.2 基本操作

Numpy數組支持多種基本操作,如索引、切片、重塑等。這些操作對于數據處理非常有用。例如,可以使用索引來訪問數組中的特定元素,使用切片來獲取數組的一部分,使用reshape函數來改變數組的形狀。

import numpy as np
# 一維數組
one_d_array = np.array([1, 2, 3, 4, 5])
print("一維數組:", one_d_array)# 二維數組
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])
print("二維數組:\n", two_d_array)# 索引
print("一維數組的第二個元素:", one_d_array[1])# 切片
print("一維數組的前三個元素:", one_d_array[:3])# 重塑
reshaped_array = two_d_array.reshape(3, 2)
print("重塑后的二維數組:\n", reshaped_array)
1.2 統計函數:sum, mean, std

Numpy提供了多種統計函數,用于對數組中的數據進行聚合和分析。這些函數包括求和(sum)、平均值(mean)、標準差(std)等,它們可以幫助人們快速了解數據的分布情況。

1.2.1 求和(sum)

sum函數用于計算數組中所有元素的總和。對于多維數組,可以通過指定axis參數來控制沿著哪個軸進行求和。

import numpy as np
# 一維數組
one_d_array = np.array([1, 2, 3, 4, 5])# 二維數組
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])# 一維數組求和
print("一維數組的總和:", one_d_array.sum())# 二維數組求和
print("二維數組的總和:", two_d_array.sum())
print("二維數組沿第一軸求和:\n", two_d_array.sum(axis=0))
print("二維數組沿第二軸求和:\n", two_d_array.sum(axis=1))
1.2.2 平均值(mean)

mean函數用于計算數組中所有元素的平均值。同樣,對于多維數組,可以通過指定axis參數來控制沿著哪個軸計算平均值。

import numpy as np# 一維數組
one_d_array = np.array([1, 2, 3, 4, 5])# 二維數組
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])# 一維數組平均值
print("一維數組的平均值:", one_d_array.mean())# 二維數組平均值
print("二維數組的平均值:", two_d_array.mean())
# 沿著水平軸線壓縮
print("二維數組沿第一軸的平均值:\n", two_d_array.mean(axis=0))
# 沿著豎直軸線壓縮
print("二維數組沿第二軸的平均值:\n", two_d_array.mean(axis=1))
1.2.3 標準差(std)

std函數用于計算數組中所有元素的標準差,標準差是衡量數據分布離散程度的一個重要指標。對于多維數組,同樣可以通過指定axis參數來控制沿著哪個軸計算標準差。

import numpy as np
# 一維數組
one_d_array = np.array([1, 2, 3, 4, 5])# 二維數組
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])# 一維數組標準差
print("一維數組的標準差:", one_d_array.std())# 二維數組標準差
print("二維數組的標準差:", two_d_array.std())
print("二維數組沿第一軸的標準差:\n", two_d_array.std(axis=0))
print("二維數組沿第二軸的標準差:\n", two_d_array.std(axis=1))
1.3 數據聚合與分析

在實際的數據分析中,經常需要對數據進行聚合和分析,以提取有用的信息。Numpy的統計函數提供了強大的工具,使得這些操作變得簡單而高效。

1.3.1 數據聚合

數據聚合是指將數據集中的多個值合并成一個或幾個值的過程。在Numpy中,可以通過使用sum、mean、std等函數來實現數據的聚合。例如,假設有一個包含多個學生考試成績的數據集,則可以通過計算平均分來了解整體的學術表現。

import numpy as np
# 假設有一個包含多個學生考試成績的數據集
scores = np.array([85, 92, 78, 90, 88, 95, 80, 85, 92, 88])# 計算平均分
average_score = scores.mean()
print("平均分:", average_score)# 計算標準差
std_deviation = scores.std()
print("標準差:", std_deviation)
1.3.2 數據分析

數據分析是指通過統計方法來探索數據的特征和模式。在Numpy中,可以通過使用統計函數來分析數據的分布情況,例如,計算數據的最小值、最大值、中位數等。

import numpy as np# 假設有一個包含多個學生考試成績的數據集
scores = np.array([85, 92, 78, 90, 88, 95, 80, 85, 92, 88])# 計算最小值
min_score = scores.min()
print("最低分:", min_score)# 計算最大值
max_score = scores.max()
print("最高分:", max_score)# 計算中位數
median_score = np.median(scores)
print("中位數:", median_score)

通過本課程的學習,學員將能夠熟練地使用Numpy的統計函數進行數據的聚合與分析,為更復雜的數據科學任務打下堅實的基礎。


1. Numpy入門:數組操作與科學計算基礎
2. Numpy入門:多平臺安裝與基礎環境配置
3. Numpy數組創建與應用入門
4. Numpy數組屬性入門:形狀、維度與大小
5. Numpy數組索引與切片入門
6. Numpy數組操作入門:合并、分割與重塑
7. Numpy數學函數入門與實踐
8. Numpy數據分析基礎:統計函數應用
9. Numpy隨機數生成入門
10. Numpy線性代數基礎與實踐
11. Numpy文件操作入門:數組數據的讀取與保存
12. Numpy廣播機制入門與實踐
13. Numpy布爾索引與花式索引實戰
14. Numpy高效數據處理與優化
15. Numpy數據分析與圖像處理入門

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

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

相關文章

從引導加載程序到sysfs:Linux設備樹的完整解析與驅動綁定機制

摘要本報告旨在為嵌入式Linux開發者詳細梳理設備樹(Device Tree, DT)在系統啟動中的完整解析流程。報告將從引導加載程序(Bootloader)如何準備和傳遞設備樹二進制文件(DTB)開始,逐步深入到內核如…

基于深度學習的污水新冠RNA測序數據分析系統

基于深度學習的污水新冠RNA測序數據分析系統 摘要 本文介紹了一個完整的基于深度學習技術的污水新冠RNA測序數據分析系統,該系統能夠從未經處理的污水樣本中識別新冠病毒變種、監測病毒動態變化并構建傳播網絡。我們詳細闡述了數據處理流程、深度學習模型架構、訓練…

寶塔面板配置Nacos集群

一、環境準備 準備三臺及以上的服務器,我這里準備了3臺服務器,172.31.5.123~125;分別安裝好寶塔面板,軟件商店里安裝nacos;二、Nacos集群配置 配置數據庫連接:? 進入每臺服務器上 Nacos 解壓后…

Spring Boot 3.x 全新特性解析

Spring Boot 是企業級 Java 開發中最常用的框架之一。自 Spring Boot 3.x 發布以來,其引入的一系列重大變更與優化,為開發者提供了更現代、更高效的開發體驗。本文將重點解析 Spring Boot 3.x 的關鍵特性及其對項目架構的影響。 一、基于 Jakarta EE 10 …

2025.8.10總結

今天晚上去跑了2公里,跑完還挺爽的,然后花了1.5個小時去公司刷題,沒有進行限時練,花了一周的時間才做完這題,共找了20個bug,雖然沒有進行限時練,但我仿佛對測試技術掌握得更好了,知道…

qt中實現QListWidget列表

使用最基本的QListWidgetItem來創建列表項,具體使用下面setText、setIcon、addItem這三個方法#include "mainwindow.h" #include "ui_mainwindow.h" #include "QDebug"enum CustomRoles {IdRole Qt::UserRole, // 存儲IDPhoneR…

nginx-主配置文件

nginx-主配置文件一、主配置文件nginx.conf內容二、修改配置的文件后的操作三、配置虛擬主機的域名1. 修改nignx.conf配置文件2. 新建域名對應的網頁根目錄3. 重載nginx配置4. 驗證一、主配置文件nginx.conf內容 [rootweb1 conf]# cat nginx.conf#user nobody; # nginx woke…

DBSACN算法的一些應用

以下是 DBSCAN 算法在 Python 中的幾個典型應用示例,涵蓋了基礎使用、參數調優和可視化等方面:import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import DBSCAN from sklearn.datasets import make_moons, make_blobs from skl…

java9學習筆記-part1

G1 成為默認垃圾回收器在 Java 8 的時候,默認垃圾回收器是 Parallel Scavenge(新生代)Parallel Old(老年代)。到了 Java 9, CMS 垃圾回收器被廢棄了,G1(Garbage-First Garbage Collector&#x…

【github.io靜態網頁 怎么使用 github.io 搭建一個簡單的網頁?】

這里是一張展示 GitHub Pages 靜態網站架構與部署流程的示意圖,可以幫助你更直觀理解整個流程。 要使用 github.io(GitHub Pages)搭建一個簡單的網頁,你可以按照以下步驟操作: 快速入門:個人網站&#xff…

記錄一次ubuntu20.04 解決gmock not found問題的過程

在電腦上源碼編譯moveit,系統是ubuntu20.04,有三個電腦,分別叫做A,B,C好了,A和C都可以很順暢地走流程編譯通過,但是B遇到了gmock not found的問題,一開始沒當回事,感覺重裝下庫,或者…

Java基礎編程核心案例:從邏輯到應用

Java編程的核心在于將邏輯思維轉化為可執行的代碼。本專欄通過8個實用案例,覆蓋條件判斷、循環結構、數組操作、用戶交互等基礎知識點,展示如何用Java解決實際問題,從簡單游戲到數據計算,逐步構建編程思維。 案例一:剪…

Starlink衛星終端對星策略是終端自主執行的還是網管中心調度的?

以下文章首先來源于Google Gemini的Deep Research的內容,在Deep Research的報告參考了SpaceX公開信息、FCC技術報告、相關專利(如US9906292B2)以及學術研究的綜合分析,并參考了RFWirelessWorld和APNIC博客等二次來源。 文章完成之后,前后發給了Grok和deepseek,讓Grok和d…

【CDA案例】數據分析案例拆解:解鎖數據分析全流程!

在當今數字化時代,數據如同一座座金礦,蘊含著巨大的價值。企業、組織乃至個人都渴望從海量的數據中挖掘出有用的信息,以指導決策、優化運營、提升競爭力。今天我們以一個實際的數據分析案例為藍本,深入拆解其全過程,帶…

vulnhub-drippingblues靶場攻略

1.打開靶場,我們將網絡連接方式改為NAT模式2.然后使用nmap掃描一下nat的網段3.存在21,22,80端口我們先來看一下21端口的ftp協議,發現可以直接匿名登錄,并且可以下載存在的東西4.但是這個壓縮包被加密了,我們…

afsim2.9_使用QtCreator和VSCode編譯

使用QtCreator和VSCode編譯AFSIM2.9源代碼指南 準備工作 在開始編譯AFSIM2.9源代碼前,需要確保您的開發環境滿足以下條件: 安裝QtCreator安裝Visual Studio Code(最新穩定版)獲取AFSIM2.9源代碼包安裝必要的編譯工具鏈&#xf…

TC39x STM(System Timer)學習記錄

STM有哪些特性?自由運行的 64 位計數器所有 64 位可同步讀取可同步讀取 64 位計數器的不同 32 位部分基于與 STM 部分內容的比較匹配,靈活地產生服務請求在應用復位后自動開始計數若 ARSTDIS.STMxDIS 位清零,應用復位將復位 STM 寄存器&#…

css初學者第四天

<1>snipaste工具的使用snipaste是一個簡單但強大的截圖工具&#xff0c;也可以讓你將截圖貼回屏幕上。常用的快捷方式&#xff1a;1、F1可以截圖&#xff0c;同時測量大小&#xff0c;設置箭頭 書寫文字等2、F3在桌面置頂顯示3、點擊圖片&#xff0c;alt可以取色&#xf…

CompletableFuture實現Excel 多個sheet頁批量導出

CompletableFuture實現Excel 多個sheet頁批量導出 文章目錄 CompletableFuture實現Excel 多個sheet頁批量導出 為什么不能直接合并文件或Sheet? 我的方案合理性 1. 操作實現步驟 1.1、導入所需要的依賴 1.2 、Excel 導入導出對象 1.3、異步生成 Excel 文件到指定路徑 1.4、合并…

搭建本地 Git 服務器

以下是搭建本地 Git 服務器的通用步驟&#xff0c;支持團隊協作或私有倉庫管理&#xff1a;方法 1&#xff1a;基于 SSH 的簡單部署&#xff08;適合小團隊&#xff09; 步驟 1&#xff1a;安裝 Git 在服務器上安裝 Git&#xff08;以 Ubuntu 為例&#xff09;&#xff1a; sud…