【数据分析与可视化】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)

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

相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
120 0
|
18天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
1月前
|
机器学习/深度学习 数据采集 算法
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
【10月更文挑战第5天】随着数据科学和机器学习领域的快速发展,处理大规模数据集的能力变得至关重要。Python凭借其强大的生态系统,尤其是NumPy、Pandas和SciPy等库的支持,在这个领域占据了重要地位。本文将深入探讨这些库如何帮助科学家和工程师高效地进行数据分析,并通过实际案例来展示它们的一些高级应用。
55 0
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
216 0
|
1月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
95 0
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
53 0
|
2月前
|
机器学习/深度学习 存储 数据可视化
数据分析和可视化
数据分析和可视化
|
2月前
|
数据采集 传感器 数据可视化
利用Python进行数据分析与可视化
【9月更文挑战第11天】在数字化时代,数据已成为企业决策和科学研究的关键。本文将引导读者了解如何使用Python这一强大的工具进行数据分析和可视化,帮助初学者理解数据处理的流程,并掌握基本的可视化技术。通过实际案例,我们将展示如何从原始数据中提取信息,进行清洗、处理,最终以图形方式展现结果,使复杂的数据变得直观易懂。
|
3月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
84 2
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
189 4
下一篇
无影云桌面