【数据分析与可视化】Scipy中常用函数及线性代数基本运算讲解(附源码 超详细)

简介: 【数据分析与可视化】Scipy中常用函数及线性代数基本运算讲解(附源码 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~

Scipy是一款用于数学、科学和工程领域的Python工具包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题

一、Scipy中的常数与特殊函数

1 SciPy的constants模块

SciPy的constants模块包含了大量用于科学计算的常数

显示constants模块中的常用常数

输出结果如下

2 SciPy的special模块

SciPy的special模块包含了大量函数库,包括基本数学函数、特殊函数以及NumPy中的所有函数

special模块中的常用函数

from scipy import special as S
print(S.cbrt(8)) #立方根
print(S.exp10(3)) #10**3
print(S.sindg(90)) #正弦函数,参数为角度
print(S.round(3.1)) #四舍五入函数
print(S.round(3.5))
print(S.round(3.499))
print(S.comb(5,3)) #从5个中任选3个的组合数
print(S.perm(5,3)) #排列数
print(S.gamma(4)) #gamma函数
print(S.beta(10,200)) #beta函数
print(S.sinc(0)) #sinc函数

二、Scipy中的线性代数基本运算

SciPy.linalg是SciPy中实现线性代数计算的模块,常用的导入方式为: from scipy import linalg

在NumPy中,矩阵有矩阵类型和二维数组两种表示方法

(1)数组类型下的基本操作

矩阵类型数据可以用np.mat()或mat.matrix()创建

from scipy import linalg 
import numpy as np 
A = np.mat('[1,2;3,4]')
print('A矩阵为:\n',A)
print('A的转置矩阵为:\n',A.T)
print('A的逆矩阵为:\n',A.I)

(2) 矩阵类型下的基本操作

矩阵也可以用二维数组对象表示,数组对象的矩阵操作与矩阵对象有一定的区别

数组的创建及其简单运算

M = np.array([[1,2],[3,4]])
print('M矩阵为:\n',M)
print('M的转置矩阵为:\n',M.T)
print('M的逆矩阵为:\n',linalg.inv(M))

2. 线性方程组求解

除了通过矩阵的逆求解外可以直接使用linalg.solve()函数求解而且效率更高

如求解下列方程组

线性方程组求解

from scipy import linalg 
import numpy as np 
a = np.array([[1, 3, 5], [2, 5, -1], [2, 4, 7]])
b = np.array([10, 6, 4]) 
x = linalg.solve(a, b) 
print(x)

3. 行列式的计算

行列式是一个将方阵映射到标量的函数。linalg.det()可以计算矩阵的行列式

M = np.array([[1,2],[3,4]])
linalg.det(M)

4. 范数

范数是数学上一个类似“长度”的概念。linalg.norm()函数可以计算向量或矩阵的范数(或者模)。常见范数及其含义见下表

矩阵常用范数及其含义如下图

范数的运算

M = np.array([[1,2],[3,4]])
print('M矩阵为:\n',M)
print('M矩阵的L范数为:\n',linalg.norm(M,1))
print('M矩阵的2范数为:\n',linalg.norm(M,2))
print('M矩阵的正无穷范数为:\n',linalg.norm(M,np.inf))

5. 特征值求解

函数linalg.eig()可以用来求解特征值和特征向量

特征值分解

A = np.array([[1,2],[3,4]])
l,v = linalg.eig(A)
print(l)
print(v)

6. 奇异值分解

奇异值分解是一个能适用于任意的矩阵的一种分解的方法,它将M×N的矩阵A分解为

矩阵    主对角线上的元素被称为奇异值。函数linalg.svd()可以实现矩阵的奇异值分解

矩阵的奇异值分解

from numpy import *
data = mat([[1,2,3],[4,5,6]])
U,sigma,VT = np.linalg.svd(data)
print('U: ',U)
print('SIGMA:',sigma)
print('VT:',VT)

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
4天前
|
数据可视化 数据挖掘
R语言生存分析数据分析可视化案例(下)
R语言生存分析数据分析可视化案例
12 0
|
19天前
|
机器学习/深度学习 数据采集 数据可视化
Python中的数据分析与可视化技术探索
数据分析与可视化在当今信息化时代扮演着愈发重要的角色。Python作为一种强大的编程语言,提供了丰富的库和工具,使得数据分析与可视化变得更加高效和灵活。本文将探讨Python中常用的数据分析与可视化技术,包括数据准备、数据分析和可视化展示等方面,并结合实例演示其应用,帮助读者更好地理解和运用这些技术。
|
1天前
|
数据可视化 前端开发 数据挖掘
数据分析可视化神器---streamlit框架,各种图表绘制,布局以及生产综合案例剖析
数据分析可视化神器---streamlit框架,各种图表绘制,布局以及生产综合案例剖析
|
4天前
|
数据可视化 数据挖掘
R语言生存分析数据分析可视化案例(上)
R语言生存分析数据分析可视化案例
|
12天前
|
机器学习/深度学习 数据挖掘 计算机视觉
python数据分析工具SciPy
【4月更文挑战第15天】SciPy是Python的开源库,用于数学、科学和工程计算,基于NumPy扩展了优化、线性代数、积分、插值、特殊函数、信号处理、图像处理和常微分方程求解等功能。它包含优化、线性代数、积分、信号和图像处理等多个模块。通过SciPy,可以方便地执行各种科学计算任务。例如,计算高斯分布的PDF,需要结合NumPy使用。要安装SciPy,可以使用`pip install scipy`命令。这个库极大地丰富了Python在科学计算领域的应用。
13 1
|
13天前
|
数据采集 数据可视化 数据挖掘
SciPy在数据分析中的应用:从数据清洗到可视化
【4月更文挑战第17天】# SciPy在数据分析中的应用:从数据清洗到可视化。文章探讨了SciPy在数据清洗(使用NumPy处理缺失值和异常值)、数据分析(描述性统计和模型拟合)以及数据可视化(结合Matplotlib和Seaborn进行图表绘制)中的作用。SciPy与其他Python库结合,为完整的数据分析流程提供了强大支持。
|
14天前
|
存储 数据可视化 数据挖掘
数据分析与可视化:Pandas与Matplotlib/Seaborn的完美结合
【4月更文挑战第16天】本文探讨了Python中的Pandas、Matplotlib和Seaborn如何协同进行数据分析与可视化。Pandas提供高效的数据结构DataFrame,便于数据处理和清洗;Matplotlib是基础绘图库,支持自定义图表;Seaborn则在Matplotlib基础上提供美观的统计图形。通过这三个库的无缝结合,数据分析师可以从数据处理直达可视化,提高效率并呈现更具吸引力的分析结果。掌握这些工具将助力深入理解数据并揭示其中的故事。
|
23天前
|
人工智能 数据可视化 数据挖掘
【python】Python国内GDP经济总量数据分析可视化(源码+报告)【独一无二】
【python】Python国内GDP经济总量数据分析可视化(源码+报告)【独一无二】
|
23天前
|
机器学习/深度学习 数据可视化 数据挖掘
【python】双十一美妆数据分析可视化 [聚类分析/线性回归/支持向量机](代码+报告)【独一无二】
【python】双十一美妆数据分析可视化 [聚类分析/线性回归/支持向量机](代码+报告)【独一无二】
|
23天前
|
机器学习/深度学习 数据可视化 数据挖掘
利用Python进行数据分析与可视化:从入门到精通
本文将介绍如何使用Python语言进行数据分析与可视化,从基础概念到高级技巧一应俱全。通过学习本文,读者将掌握Python在数据处理、分析和可视化方面的核心技能,为实际项目应用打下坚实基础。