当前位置: 首页 > news >正文

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统计建模回归分析、假设检验

相关文章:

  • 数字智慧方案6185丨智慧银行解决方案(51页PPT)(文末有下载方式)
  • 【免费】2010-2019年上市公司排污费数据
  • 迪米特法则(LoD)
  • Baklib内容中台落地实战指南
  • 传奇各职业/战士/法师/道士/手套/手镯/护腕/神秘腰带爆率及出处产出地/圣战/法神/天尊/祈祷/虹魔/魔血
  • 用c 编写的笔记搜索程序
  • 如何用Python绘制两个圆之间的8条公切线
  • 第J6周:ResNeXt-50实战
  • C++ 动态内存管理详讲
  • 数字智慧方案5877丨智慧交通项目方案(122页PPT)(文末有下载方式)
  • SX24C01.UG-PXI程控电阻桥板卡
  • 英一真题阅读单词笔记 20-21年
  • 藏文词云生成器学习实践
  • 2000-2020年全国各地级市资本存量测算数据(以2000年为基期)(含原始数据+计算过程+结果)
  • 数字智慧方案5875丨智慧交通枢纽综合解决方案(43页PPT)(文末有下载方式)
  • ValueError: expected sequence of length 8 at dim 2 (got 0)
  • 历史数据分析——运输服务
  • B站Michale_ee——ESP32_IDF SDK——FreeRTOS_6 任务通知同步、任务通知值
  • Qt QGraphicsScene 的用法
  • 分享国产AI工作流集成数据库完成业务处理
  • 五一假期首日,上海外滩客流超55万人次
  • 太空飞梭项目起火,南宁方特东盟神画:明火已扑灭,无人受伤
  • 湖南新宁一矿厂排水管破裂,尾砂及积水泄漏至河流,当地回应
  • 上海:以税务支持鼓励探索更多的创新,助力企业出海
  • 范宇任上海宝山区副区长
  • 徐徕任上海浦东新区副区长,此前已任区委常委