python常用科學計算庫及使用示例

?一、NumPy - 數值計算基礎庫??

??安裝??

pip install numpy

??核心功能示例??

1. 數組創建與運算
import numpy as np# 創建數組
arr = np.array([1, 2, 3, 4])
matrix = np.array([[1, 2], [3, 4]])# 數學運算
print(arr + 1)        # [2 3 4 5]
print(matrix @ matrix) # 矩陣乘法 [[7 10] [15 22]]# 統計函數
data = np.array([1, 2, 3, 4, 5])
print(np.mean(data))   # 3.0
print(np.std(data))    # 1.4142135623730951
2. 隨機數與線性代數
# 隨機數
rand_arr = np.random.rand(3, 3)  # 3x3隨機矩陣# 線性代數
A = np.array([[1, 2], [3, 4]])
inv_A = np.linalg.inv(A)  # 逆矩陣
eigvals = np.linalg.eigvals(A)  # 特征值

??二、SciPy - 科學計算工具箱??

??安裝?

pip install scipy

??核心功能示例??

1. 積分與優化
from scipy import integrate, optimize# 定積分
def f(x):return x**2
result, _ = integrate.quad(f, 0, 1)  # 0.333...# 函數最小值
result = optimize.minimize(lambda x: (x-3)**2, x0=0)
print(result.x)  # [3.]
2. 信號處理與插值
from scipy import signal, interpolate# 生成信號
t = np.linspace(0, 1, 100)
sig = np.sin(2 * np.pi * t)# 濾波
b, a = signal.butter(4, 0.1)  # 4階低通濾波器
filtered_sig = signal.filtfilt(b, a, sig)# 插值
x = np.linspace(0, 10, 5)
y = np.sin(x)
f = interpolate.interp1d(x, y, kind='cubic')
print(f(5.5))  # 插值結果

??三、Pandas - 數據分析??

??安裝??

pip install pandas

??核心功能示例??

1. 數據結構與操作
import pandas as pd# 創建DataFrame
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)# 基礎操作
print(df['Name'])          # 選擇列
print(df[df['Age'] > 25])  # 條件篩選
df['Salary'] = [5000, 6000]  # 新增列
2. 數據聚合與可視化
# 分組聚合
grouped = df.groupby('Name').mean()  # 按姓名分組求均值# 導出數據
df.to_csv('output.csv', index=False)

??四、Matplotlib - 數據可視化??

??安裝??

pip install matplotlib

??核心功能示例??

1. 基礎繪圖
import matplotlib.pyplot as pltx = np.linspace(0, 10, 100)
y = np.sin(x)plt.plot(x, y, label='sin(x)')
plt.xlabel('X軸')
plt.ylabel('Y軸')
plt.legend()
plt.show()
2. 高級圖表
# 散點圖
plt.scatter(x, y, c=y, cmap='viridis')
plt.colorbar()  # 顏色條# 子圖
fig, axes = plt.subplots(2, 1)
axes[0].plot(x, y)
axes[1].hist(y, bins=20)
plt.tight_layout()
plt.show()

??五、Scikit-learn - 機器學習??

??安裝??

pip install scikit-learn

??核心功能示例??

1. 分類與回歸
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression# 生成數據
X, y = make_regression(n_samples=100, n_features=1)# 訓練模型
model = LinearRegression()
model.fit(X, y)# 預測
print(model.predict([[1]]))
2. 聚類與降維
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA# K-Means聚類
X = np.random.rand(100, 2)
kmeans = KMeans(n_clusters=3).fit(X)
print(kmeans.labels_)# PCA降維
pca = PCA(n_components=1)
X_reduced = pca.fit_transform(X)

??六、其他實用庫??

1. ??SymPy?? - 符號計算

from sympy import symbols, diffx = symbols('x')
f = x**2 + 2*x
print(diff(f, x))  # 導數: 2*x + 2

2. ??Statsmodels?? - 統計建模

import statsmodels.api as sm# 線性回歸
X = sm.add_constant(X)  # 添加截距項
model = sm.OLS(y, X).fit()
print(model.summary())

??總結??

庫名核心用途示例場景
NumPy數值計算基礎數組運算、線性代數
SciPy科學計算擴展積分、優化、信號處理
Pandas數據分析數據清洗、聚合、導出
Matplotlib數據可視化折線圖、散點圖、子圖
Scikit-learn機器學習分類、回歸、聚類
SymPy符號計算微積分、方程求解
Statsmodels統計建模回歸分析、假設檢驗

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

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

相關文章

中科院黃飛敏等人證明希爾伯特第六問題使用的或然判斷(估計)-沒有使用演繹推理的必然判斷

國家自然科學基金委在2013年介紹黃飛敏的工作,居然是錯誤的:黃飛敏等人73頁的論文,全篇都是用或然判斷的“估計”代替必然判斷的演繹證明,將沒有實驗的推演當成事實。 首頁 >>年度報告 >>2013年度報告 >>第二部…

【安裝指南】Chat2DB-集成了AI功能的數據庫管理工具

一、Chat2DB 的介紹 Chat2DB 是一款開源的、AI 驅動的數據庫工具和 SQL 客戶端,提供現代化的圖形界面,支持 MySQL、Oracle、PostgreSQL、DB2、SQL Server、SQLite、H2、ClickHouse、BigQuery 等多種數據庫。它旨在簡化數據庫管理、SQL 查詢編寫、報表生…

vite項目tailwindcss4的使用

1、安裝taillandcss 前幾天接手了一個項目,看到別人用tailwindcss節省了很多css代碼的編寫,所以自己也想在公司項目中接入tailwindcss。 官網教程如下: Installing Tailwind CSS with Vite - Tailwind CSS 然而,我在vite中按…

第 13 屆藍橋杯 C++ 青少組省賽中 / 高級組 2022 年真題

一、選擇題 第 1 題 題目:已知char a; float b; double c;,執行語句c a b c;后變量c的類型是( )。 A. char B. float C. double D. int 正確答案:C 答案解析: 在 C 中,表達式運算會進行類型…

解決GoLand無法Debug的問題

文章目錄 解決GoLand無法Debug的問題問題描述解決方案方法一:安裝并替換Delve調試工具方法二:通過GoLand自動安裝方法三:配置自定義Delve路徑 驗證解決方案常見問題排查總結 解決GoLand無法Debug的問題 問題描述 在使用GoLand進行Go語言開發…

5.2刷題

P1064 [NOIP 2006 提高組] 金明的預算方案 背包&#xff0b;附屬品DP #include<bits/stdc.h> using namespace std; #define int long long int n, m, v, p, q; struct node{int id, v, s, f; }a[100]; int b[32010], dp[32010]; bool cmp(node a, node b){if(a.id b.…

輕舟系列FPGA加速卡:大模型分布式訓練中的高效協同者

在超大規模模型&#xff08;如千億級參數&#xff09;的分布式訓練中&#xff0c;計算、存儲與通信的協同優化是突破性能瓶頸的關鍵。綠算技術公司的輕舟系列FPGA加速卡憑借其低延遲、高能效和可編程特性&#xff0c;能夠成為分布式訓練架構中的異構加速節點。其在訓練集群中的…

序列數據(Sequential Data)??:按順序排列的動態信息載體

核心定義?? 序列數據是??按特定順序排列??的數據集合&#xff0c;其中元素的??位置或時間順序??蘊含關鍵信息。例如&#xff1a; ??時間序列??&#xff1a;股票價格、氣溫變化&#xff08;按時間戳排列&#xff09;。??文本??&#xff1a;句子中的詞語序列…

【單片機數碼管實現第一位開始走0~9,1s后第二位再開始亮】2022-5-2

緣由怎么讓單片機數碼管實現第一位開始走0~9,1s后第二位再開始亮? - 24小時必答區 #include "REG52.h" void sm7447(unsigned char mz, unsigned char w) {unsigned char Xd0;P2255;P2mz;P3w;while(Xd); } void main() {unsigned char jz0,zhi128;unsigned int Ys4…

InnoDB索引的原理

在鵝廠后端開發一面&#xff0c;我遇到了如題這樣一個比較寬泛的問題&#xff0c;當時可能只是背了相關概念&#xff0c;對于索引的了解不是很深刻。 最近&#xff0c;我花了很大的功夫去深入了解MySQL的索引。 下面是我的一些思考&#xff1a; 索引&#xff0c;對于InnoDB來說…

FormCalc 支持的編程語言和軟件

FormCalc 是一種專為 PDF 表單計算設計的腳本語言&#xff0c;主要應用于 Adobe 生態及 SAP 相關工具。以下是支持 FormCalc 的主要軟件和平臺&#xff1a; 1. Adobe LiveCycle Designer&#xff08;最佳支持&#xff09; 原生支持&#xff1a;FormCalc 是 LiveCycle Designe…

unity 為什么不切片 Sprite.rect 與Sprite.textureRect的值還不一樣

一。測試代碼&#xff1a; 二。發現Debug不一樣的原因 與解決方案&#xff1a; 下圖右邊所示&#xff1a; 網格類型默認為緊密 在 Unity 中&#xff0c;紋理導入時可能存在自動的偏移和裁剪設置。即便你沒有手動切片&#xff0c;Unity 可能會根據紋理的導入設置&#xff0c;對…

超預期!淘寶閃購提前開放全國全量,聯合餓了么扭轉外賣戰局

餓了么由守轉攻。 作者|景行 編輯|楊舟 淘寶餓了么&#xff0c;終于落子&#xff0c;“淘寶閃購”&#xff0c;橫空出世&#xff0c;僅僅2天&#xff0c;業務加速。 4月30日上午&#xff0c;當外賣戰場陷入沉寂時&#xff0c;淘寶宣布將即時零售業務“小時達”升級為“淘寶閃…

minio相關面試問題和參考答案

可以考慮以下幾個方面&#xff1a; MinIO概述與特性MinIO與其他對象存儲的比較MinIO的使用場景MinIO的API與SDKMinIO的安全性與權限管理MinIO的性能優化 以下是一些相關的面試技術問題及其參考回答&#xff1a;具體如下&#xff1a; MinIO的主要特性包括&#xff1a; 高性能&am…

加載ko驅動模塊:顯示Arm版本問題解決!

1、問題 驅動模塊加載&#xff0c;使用命令&#xff1a;modprobe chrdevbase.ko 時出現&#xff1a; hrdevbase: version magic 4.1.15 SMP preempt mod_unload modversions ARMv6 p2v8 ’ should be 4.1.15 SMP preempt mod_unload modversions ARMv7 p2v8 ’ ———————…

【論文閱讀一】掌握高效閱讀法,開啟學術研究新旅程:S. Keshav教授論文閱讀的三遍法

文章目錄 一、三遍閱讀法1. 初讀&#xff1a;10分鐘&#xff1a;宏觀把握&#xff0c;快速篩選2. 第二遍&#xff1a;1個小時&#xff1a;更仔細的閱讀&#xff0c;了解文中論點3. 第三遍&#xff1a;深入理解&#xff0c;注重細節&#xff0c;挑戰假設 二、運用三遍閱讀法進行…

3D Gaussian Splatting部分原理介紹和CUDA代碼解讀

本系列旨在幫助無CUDA代碼經驗的讀者、以及3DGS的初學者理解代碼邏輯。 3D GS論文原文鏈接&#xff1a;https://arxiv.org/abs/2308.04079 論文筆記鏈接&#xff1a;【論文筆記】3D Gaussian Splatting for Real-Time Radiance Field Rendering 【論文筆記】A Survey on 3D Ga…

【數據結構】--- 雙向鏈表的增刪查改

前言&#xff1a; 經過了幾個月的漫長歲月&#xff0c;回頭時年邁的小編發現&#xff0c;數據結構的內容還沒有寫博客&#xff0c;于是小編趕緊停下手頭的活動&#xff0c;補上博客以洗清身上的罪孽 目錄 前言&#xff1a; 概念&#xff1a; 雙鏈表的初始化 雙鏈表的判空 雙鏈表…

Ubuntu如何查看硬盤的使用情況,以及掛載情況。

在Ubuntu中查看硬盤使用情況及掛載情況&#xff0c;可通過以下命令實現&#xff1a; 一、查看硬盤使用情況 df -h 顯示所有掛載文件系統的磁盤空間使用情況&#xff08;含總容量、已用空間、可用空間等&#xff09;&#xff0c;輸出結果以易讀格式&#xff08;如GB、MB&#x…

Github 2025-05-02Java開源項目日報 Top9

根據Github Trendings的統計,今日(2025-05-02統計)共有9個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Java項目9Android開源輕量級流媒體前端 創建周期:3158 天開發語言:Java協議類型:GNU General Public License v3.0Star數量:28641 個Fork數量…