SciPy函数库在NumPy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。例如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等等。由于其涉及的领域众多、本书没有能力对其一一的进行介绍。作为入门介绍,让我们看看如何用SciPy进行插值处理、信号滤波以及用C语言加速计算。

SciPy是世界上著名的Python开源科学计算库,建立在Numpy之上。它增加的功能包括数值积分、最优化、统计和一些专用函数。

本篇文档包括以下内容:

1、文件的输入/输出;

2、统计;

3、信号处理;

导入相关依赖包

>>> from scipy import io as spio

>>> import numpy as np创建一个数组并保存到文件中

>>> a = np.ones((3,3))

>>> a

array([[ 1., 1., 1.],

[ 1., 1., 1.],

[ 1., 1., 1.]])

>>> spio.savemat('file.mat',{'a':a})

>>>

>>> data = spio.loadmat('file.mat', struct_as_record=True)

>>> data

{'a': array([[ 1., 1., 1.],

[ 1., 1., 1.],

[ 1., 1., 1.]]), '__version__': '1.0', '__header__': 'MATLAB 5.0 MAT-file Platform: posix, Created on: Wed May 17 16:19:49 2017', '__globals__': []}

>>> data['a']

array([[ 1., 1., 1.],

[ 1., 1., 1.],

[ 1., 1., 1.]])

载入txt文件:numpy.loadtxt()/numpy.savetxt()

智能导入文本/csv文件:numpy.genfromtxt()/numpy.recfromcsv()

高速,有效率但numpy特有的二进制格式:numpy.save()/numpy.load()

2. 统计

2.1 分析随机数

>>> import scipy.stats as stats

>>> generated = stats.norm.rvs(size = 900)

>>> generated.dtype

dtype('float64')

>>> Mean, std = stats.norm.fit(generated)

>>> Mean

-0.00098392245844106043

>>> std

0.96347564118451801

>>>

偏度(skewnes)描述的是概率分布的偏斜程度,我们需要做一个偏度检验。该检验有两个返回值,其中第二个返回值是p-value,即观察到的数据服从正态分布的概率,取值为0-1

>>> stats.skewtest(generated)

SkewtestResult(statistic=-0.4167400083108363, pvalue=0.67686858714771658)

我们有67%把握认为其服从正态分布

峰度(kurtosis)描述的是概率分布的陡峭程度。该检验和偏度检验类似。

>>> stats.kurtosistest(generated)

KurtosistestResult(statistic=1.6452313569108934, pvalue=0.099922109358986863)

>>> stats.normaltest(generated)

NormaltestResult(statistic=2.8804584522897754, pvalue=0.23687345486954675)

使用Scipy我们很方便的得到数据所在区域中某一百分比处的数值

例如获取到95%处的值

>>> stats.scoreatpercentile(generated, 95)

1.5367563534669961

同样返过来也可以通过某一个数值获取其百分比

>>> stats.percentileofscore(generated, 1)

85.888888888888886

2.2 样本比对(比较股票对数收益率)

>>> a1 = np.random.rand(10)

>>> a2 = np.random.rand(10)

>>> a1

array([ 0.19910597, 0.16902027, 0.46305597, 0.29216104, 0.52134258,

0.0849457 , 0.1391109 , 0.44985439, 0.78996225, 0.06177391])

>>> a2

array([ 0.23200311, 0.47033435, 0.05213133, 0.00768839, 0.86955667,

0.69786845, 0.04830981, 0.00823025, 0.31119304, 0.19254339])

>>> stats.ttest_ind(a1,a2)

Ttest_indResult(statistic=0.23215451698313397, pvalue=0.81903697972304368)

均值检验可以检验两组不同的样本是否有相同的均值,返回值有两个,其中第二个为p-value,取值范围问为0~1

Kolmogorov-Smirnov检验可以判断两组样本同分布的可能性

>>> stats.ks_2samp(a1,a2)

Ks_2sampResult(statistic=0.40000000000000002, pvalue=0.31285267601695582)

在两组数据对数收益率的差值上运用Jarque-Bera正态性检验

>>> stats.jarque_bera(a1-a2)

(0.70085877257661988, 0.70438557126873813)

>>> stats.jarque_bera(a1-a2)[-1]

0.70438557126873813

python 画风场 scipy_Python库之SciPy教程相关推荐

  1. python 画风场 scipy_Python数据分析及可视化实例之Scipy

    强大到没有朋友的科学计算库,不知道怎么介绍ta! 大牛张若愚出了厚本的<Python 科学计算>第二版 里面包罗万象,就不做搬运工了,尽快开工pandas. 来一弹在NLP自然语言处理中用 ...

  2. python 画风场 scipy_科学网-Python: 扩展库SciPy-刘洋洋的博文

    1 什么是SciPy? SciPy是基于Python的软件生态系统,开源,主要为数学.科学和工程服务. SciPy包含6个核心库: NumPy, SciPy library, Matplotlib, ...

  3. python词云 wordcloud库详细使用教程

    文章目录 前言 使用wordcloud生成词云的步骤 API参考 实例 从一段文本建立词云 根据蒙版建立词云 从词频建立词云 从图片颜色建立词云 传入中文字体路径解决乱码问题 前言 "词云& ...

  4. python自然语言处理案例-Python自然语言处理 NLTK 库用法入门教程【经典】

    本文实例讲述了Python自然语言处理 NLTK 库用法.分享给大家供大家参考,具体如下: 在这篇文章中,我们将基于 Python 讨论自然语言处理(NLP).本教程将会使用 Python NLTK ...

  5. Python自然语言处理 NLTK 库用法入门教程【经典】

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python自然语言处理 NLTK 库用法.分享给大家供大家参考,具体如下: 在这篇文章中,我们将基于 Python ...

  6. 美国队长的工资 python代码-Python画个美国队长队盾牌实例教程

    Python画个美队盾代码 0 环境 Python版本:3.6.6 操作系统:Mac OS Mojave 10.14.2 1 引言 最近我媳妇每天晚上吃饭时候也拿手机看,上厕所也在看. 看着看着还会笑 ...

  7. Python 图像处理 PIL 第三方库详细使用教程(更新中)

    Pillow 库 基本概述 Python Pillow PIL 库的用法介绍,Pillow库是一个Python的第三方库. 要点:PIL库是一个具有强大图像处理能力的第三方库,不仅包含了丰富的像素.色 ...

  8. python tkinter_Python编程GUI库之tkinter教程——Label篇

    首先需要介绍一下什么是tkinter? tkinter是Python编程语言内置的标准GUI库,也就是程序员可以使用Tkinter类库快速而且方便的创建出GUI应用程序. 那么有同学可能就问了什么是G ...

  9. Python画图库Turtle库详解篇

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

最新文章

  1. Jerry文章《浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试一文的源代码》
  2. 备战ccpc分站赛:秦皇岛和威海站(数论模块和dp模块)
  3. 堆排序python代码实现_python实现堆排序
  4. as 从java_从Java调用AS400 RPG
  5. 谈谈Virtual DOM
  6. SQL查询1-12月的数据
  7. jsp如何编写java代码_如何在JSP页面内编写java代码?(代码示例)
  8. java 使用JEP 进行节点计算
  9. 三星t5 android,三星T5首测:一款秒杀SATA SSD的移动SSD
  10. 医院信息化建设重点工作
  11. es6-es12简单总结
  12. 阿里热修复Sophix
  13. 基于python的数据分析-基于Python的南京二手房数据可视化分析
  14. 电脑文档误删除怎么恢复,恢复误删除电脑文档的方法
  15. 华为freebuds pro和airpods pro降噪对比 华为freebuds pro和airpods pro参数对比
  16. [spm操作] 什么是ROI,如何做ROI以及批量提取ROI的%signal change的示例程序
  17. 计算机毕业设计抄袭,学生毕业设计抄袭他人纪录片,只算“侵权”? 西安工程大学称属学术不端...
  18. 【学习笔记】docker安装yapi并配置及添加用户、自动同步swagger设置
  19. 私钥,公钥,钱包地址,助记词,keyStore的区别
  20. 为什么vue3 需要 Composition API?

热门文章

  1. 回归返回2个以前标签_大本回归蝙蝠侠,同期将出现2个布鲁斯,网友:可以互相串个门...
  2. 如何设置坐标原点值_数控车如何精确对刀,干数控的你们都知道吗?
  3. python 执行存储过程语句_从Python执行存储过程
  4. table合并单元格_element ui el-table 合并单元格
  5. P6:可视化卷积神经网络
  6. WampServer安装教程
  7. 实验4 C++程序的结构(4学时)
  8. ROS2——Windows上的安装笔记
  9. RoI Pooling的学习笔记
  10. AcWing 730. 机器人跳跃问题 (二分)