Python包之SciPy介绍

前言:SciPy 提供了复制的算法及其在 NumPy 中作为函数的用法。这将分配高级命令和多种多样的类来操作和可视化数据。SciPy 将多个小型包整合在一起,每个包都针对单独的科学计算领域。其中的几个子包是linalg(线性代数)、constants(物理和数学常数)和sparse(稀疏矩阵和相关例程)

1. SciPy基础

NumPy包中大多数针对数组的函数也包含在SciPy中。SciPy提供预先测试好的例程,因此可以在科学计算应用中节省大量处理时间。
详细注释在代码中都有所体现,因为会用到NumPy的内容,如果有所遗忘,可以戳这个链接:

NumPy介绍

下面是代码介绍:

值得注意的是,SciPy 为表示随机变量的对象提供了内置的构造函数。 下面是SciPy 提供的多个子包中的 Linalg 和Stats
的几个示例。由于子包是针对特点领域的。这使得SciPy成为数据科学的完美选择。

SciPy 中的线性代数子包(scipy.linalg)应该以下列方式导入:

import scipy
import numpy as np

from scipy import linalg
mat_ = np.array([[2,3,1],[4,9,10],[10,5,6]])    #创建矩阵
print(mat_)
#>[[ 2  3  1],[ 4  9 10],[10  5  6]]
linalg.det(mat_)        #矩阵的行列式
inv_mat = linalg.inv(mat_)  #矩阵的逆
print(inv_mat)
#>[[ 0.02409639 -0.07831325  0.12650602]
 #[ 0.45783133  0.01204819 -0.09638554]
 #[-0.42168675  0.12048193  0.03614458]]

用于执行奇异值分解并存储各个组成部分的代码:

comp_1, comp_2, comp_3 = linalg.svd(mat_)
print(comp_1)
print(comp_2)
print(comp_3)
# >[[-0.1854159   0.0294175  -0.98221971]
#  [-0.73602677 -0.66641413  0.11898237]
#  [-0.65106493  0.74500122  0.14521585]]
# [18.34661713  5.73710697  1.57709968]
# [[-0.53555313 -0.56881403 -0.62420625]
#  [ 0.84418693 -0.38076134 -0.37731848]
#  [-0.02304957 -0.72902085  0.6841033 ]]

SciPy.stats 是一个大型子包,包含各种各样的统计分布处理函数,可用于操作不同类型的数据集。

from scipy import stats
#从平均摄动3和标准摄动5的正常摄动中随机产生大小为20的样本
rvs_20 = stats.norm.rvs(3,5, size = 20)
print(rvs_20,'\n---')
#以a=100, b=130为形状参数,随机变量0.41计算贝塔分布的CDF
cdf_ = scipy.stats.beta.cdf(0.41, a=100, b=130)
print(cdf_)
#>[-1.49288331 12.43018057 -1.98896686  2.84913596 -1.94158066 -2.53572229
# -3.23105148  3.49129889  6.29223385  0.57010285  1.87261406  7.0897752
# 2.64603964  4.81257768  7.21505841 -0.80754014 -4.14544522 -9.84438422
#0.43808749  2.96654881]
#---
#0.22500957436155394

2. 补充

如果想了解更多信息,可以戳一下官网
官网地址:
SciPy官网

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值