1 Scipy简介

Scipy依赖于Numpy
Scipy提供了真正的矩阵
Scipy包含的功能:最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等
Scipy是高端科学计算工具包
Scipy由一些特定功能的子模块组成

2 图片消噪:傅里叶变换

#模块用来计算快速傅里叶变换
import scipy.fftpack as fftpack
import matplotlib.pyplot as plt
%matplotlib inline
#读取图片
data = plt.imread('moonlanding.png')
#
data2 = fftpack.fft2(data) data3 = np.where(np.abs(data2)>8e2,0,data2) data4 = fftpack.ifft2(data3) data5 = np.real(data4) plt.figure(figsize=(12,9)) plt.imshow(data5,cmap = 'gray')

3 图片灰度处理

最大值法: R=G=B=max(R,G,B) 这种方法灰度亮度比较高

data2 = data.mean(axis = 2)

平均值法: R=G=B=(R+G+B)/3 这种方法灰度图像比较柔和

加权平均值 : R=G=B=(w1R+w2G+w3*B) 根据不同的权重得到不同底色的图片

data3 = np.dot(data,[0.299,0.587,0.114])

4 Matplotlib中的绘图技巧

单条曲线

x = np.arange(0.0,6.0,0.01)
plt.plot(x, x**2)
plt.show()

多条曲线

x = np.arange(1, 5,0.01)
plt.plot(x, x**2)
plt.plot(x, x**3.0)
plt.plot(x, x*3.0)
plt.show() x = np.arange(1, 5)
plt.plot(x, x*1.5, x, x*3.0, x, x/3.0)
plt.show()

标题与标签

plt.plot([1, 3, 2, 4])
plt.xlabel('This is the X axis')
plt.ylabel('This is the Y axis')
plt.show() plt.plot([1, 3, 2, 4])
plt.title('Simple plot')
plt.show()

根据线型绘制图片

numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值。

numpy.random.rand(d0, d1, …, dn)的随机样本位于[0, 1)中。

numpy.random.standard_normal(size=None):随机一个浮点数或N维浮点数组,标准正态分布随机样本

cumsum :计算轴向元素累加和,返回由中间结果组成的数组 , 重点就是返回值是“由中间结果组成的数组”

plt.plot(np.random.randn(1000).cumsum(), linestyle = ':',marker = '.', label='one')
plt.plot(np.random.randn(1000).cumsum(), 'r--', label='two')
plt.plot(np.random.randn(1000).cumsum(), 'b.', label='three')
plt.legend(loc='best') # loc='best'
plt.show()

5 scipy积分求圆周率

绘制圆

f = lambda x : (1 - x**2)**0.5
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-1,1,1000)
plt.figure(figsize = (4,4))
plt.plot(x,f(x),'-',x,-f(x),'-',color = 'r')

使用Scipy.integrate.quad()来进行计算

#integrate.quad(函数,区间端点) ,返回值为面积与精度
from scipy import integrate
def g(x):
return (1- x**2)**0.5
area,err = integrate.quad(g,-1,1)
print(area,err)

6 scipy文件的输入与输出

保存二进制文件

from scipy import io as spio
import numpy as np
a = np.ones((3,3))
#mat文件是标准的二进制文件
spio.savemat('./data/file.mat',mdict={'a':a})

读取图片

from scipy import misc
data = misc.imread('./data/moon.png')

读取保存的文件

data = spio.loadmat('./data/file.mat')
data['a']

保存图片

#模糊,轮廓,细节,edge_enhance,edge_enhance_more, 浮雕,find_edges,光滑,smooth_more,锐化
misc.imsave('./data/save.png',arr=data)

7 使用ndimage处理图片

导包提取数据处理数据

misc.face(gray=True,cmap='gray') 读取图片并可以进行灰度预处理

ndimage.rotate(图片,角度) 旋转图片

ndimage.zoom(图片,比例) 缩放图片

face[0:400,450:900] 切割图片,一维从0-400,二维从450-900

from scipy import misc,ndimage
#原始图片
face = misc.face(gray=True)
#移动图片坐标
shifted_face = ndimage.shift(face, (50, 50))
#移动图片坐标,并且指定模式
shifted_face2 = ndimage.shift(face, (-200, 0), mode='wrap')
#旋转图片
rotated_face = ndimage.rotate(face, -30)
#切割图片
cropped_face = face[10:-10, 50:-50]
#对图片进行缩放
zoomed_face = ndimage.zoom(face, 0.5)
faces = [shifted_face,shifted_face2,rotated_face,cropped_face,zoomed_face]

绘制图片

plt.figure(figsize = (12,12))
for i,face in enumerate(faces):
plt.subplot(1,5,i+1)
plt.imshow(face,cmap = plt.cm.gray)
plt.axis('off')

图片的过滤

#导包处理滤波
from scipy import misc,ndimage
import numpy as np
import matplotlib.pyplot as plt
face = misc.face(gray=True)
face = face[:512, -512:] # 做成正方形
#图片加噪
noisy_face = np.copy(face).astype(np.float)
#噪声图片
noisy_face += face.std() * 0.5 * np.random.standard_normal(face.shape)
#高斯过滤
blurred_face = ndimage.gaussian_filter(noisy_face, sigma=1)
#中值滤波
median_face = ndimage.median_filter(noisy_face, size=5) #signal中维纳滤波
from scipy import signal
wiener_face = signal.wiener(noisy_face, (5, 5)) titles = ['noisy','gaussian','median','wiener']
faces = [noisy_face,blurred_face,median_face,wiener_face]

绘制图片

plt.figure(figsize=(12,12))
plt.subplot(141)
plt.imshow(noisy_face,cmap = 'gray')
plt.title('noisy')
plt.subplot(142)
plt.imshow(blurred_face,cmap = 'gray')
plt.title('gaussian')
plt.subplot(143)
plt.imshow(median_face,cmap = 'gray')
plt.title('median')
plt.subplot(144)
plt.imshow(wiener_face,cmap = 'gray')
plt.title('wiener')
plt.show()

8 pandas绘图函数

线型图

#采用Series做法
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
np.random.seed(0)
s = Series(np.random.randn(10).cumsum(),index = np.arange(0,100,10))
s.plot()
plt.show(s.plot())
#DataFrame图标实例
np.random.seed(0)
df = DataFrame(np.random.randn(10,4).cumsum(0),
columns= ['A','B','C','D'],
index = np.arange(0,100,10))
plt.show(df.plot())

柱状图

#水平与垂直柱状图Series
fig,axes = plt.subplots(2,1)
data = Series(np.random.rand(16),index = list('abcdefghijklmnop'))
data.plot(kind = 'bar',ax = axes[0],color = 'b',alpha = 0.9)
data.plot(kind = 'barh',ax = axes[1],color = 'b',alpha = 0.9)
#DataFrame柱状图
df = DataFrame(np.random.rand(6,4),
index = ['one','two','three','four','five','six'],
columns = pd.Index(['A','B','C','D'],name = 'Genus'))
plt.show(df.plot(kind = 'bar')) df = DataFrame(np.random.rand(6,4),
index = ['one','two','three','four','five','six'],
columns = pd.Index(['A','B','C','D'],name = 'Genus'))
plt.show(df.plot(kind = 'bar',stacked = True))

直方图与密度图

a = np.random.random(10)
b = a/a.sum()
s = Series(b)
plt.show(s.hist(bins = 100)) #bins直方图的柱数
#密度图
a = np.random.random(10)
b = a/a.sum()
s = Series(b)
plt.show(s.plot(kind = 'kde'))

带有密度估计的规格化直方图

%matplotlib inline
comp1 = np.random.normal(0,1,size = 200)
comp2 = np.random.normal(10,2,size = 200)
values = Series(np.concatenate([comp1,comp2]))
p1 = values.hist(bins = 100,alpha = 0.3,color = 'k',density = True) p2 = values.plot(kind = 'kde',style = '--',color = 'r')

aaarticlea/png;base64,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" alt="">

散布图

#简单的散布图
df = DataFrame(np.random.randint(0,100,size = 100).reshape(50,2),columns = ['A','B'])
df.plot('A','B',kind = 'scatter',title = 'x Vs y')

散步矩阵图

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
%matplotlib inline
df = DataFrame(np.random.randn(200).reshape(50,4),columns = ['A','B','C','D'])
pd.plotting.scatter_matrix(df,diagonal = 'kde',color = 'k')

aaarticlea/png;base64,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" alt="">

数据分析之scipy常用方法(五)的更多相关文章

  1. Hadoop MapReduce编程 API入门系列之Crime数据分析(二十五)(未完)

    不多说,直接上代码. 一共12列,我们只需提取有用的列:第二列(犯罪类型).第四列(一周的哪一天).第五列(具体时间)和第七列(犯罪场所). 思路分析 基于项目的需求,我们通过以下几步完成: 1.首先 ...

  2. 数据分析(4):Scipy

    科学计算 最小二乘leastsq # -*- coding: utf-8 -*- def func(x,p): # p 参数列表 A,k,theta = p; # 可以一一对应赋值 return A* ...

  3. R与数据分析旧笔记(五)数学分析基本

    R语言的各种分布函数 rnorm(n,mean=0,sd=1)#高斯(正态) rexp(n,rate=1)#指数 rgamma(n,shape,scale=1)#γ分布 rpois(n,lambda) ...

  4. jQuery常用方法(五)

    一.jQuery中常用方法相关方法参数说明:a.无参,获取值b.参数param,设置值c.参数function(index,oldVal){}回调函数[返回我们所要使用的新值]    回调函数的两个参 ...

  5. 快速入门 Python 数据分析实用指南

    Python 现如今已成为数据分析和数据科学使用上的标准语言和标准平台之一.那么作为一个新手小白,该如何快速入门 Python 数据分析呢? 下面根据数据分析的一般工作流程,梳理了相关知识技能以及学习 ...

  6. Python数据分析【炼数成金15周完整课程】

    点击了解更多Python课程>>> Python数据分析[炼数成金15周完整课程] 课程简介: Python是一种面向对象.直译式计算机程序设计语言.也是一种功能强大而完善的通用型语 ...

  7. 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程

    点击了解更多Python课程>>> 全网最新最全python高级工程师全套视频教程学完月薪平均2万 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加 ...

  8. Excel 2016在大数据分析领域有了很多的改善

    Excel 2016在大数据分析领域有了很多的改善 通常,我们会把大数据分析的整个过程分为五个阶段: 获取获取,数据分析,可视化,发布报告,应用报告. 在获取数据方面,Excel 2016相对Exce ...

  9. python介绍及下载

    python介绍 Python是一种计算机程序设计语言.是一种面向 对象的动态类型语言,支出被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多的被用于独立的.大型醒 ...

随机推荐

  1. HUE配置文件hue.ini 的pig模块详解(图文详解)(分HA集群和非HA集群)

    不多说,直接上干货! 一.默认的pig配置文件 ########################################################################### ...

  2. 数据库~Mysql里的Explain说明

    对于mysql的执行计划可以在select前添加Explain来实现,它可以告诉我们你的语句性能如何. 下面是对explain的具体说明,也都是官方的,以后进行参考. id SELECT识别符.这是S ...

  3. C# OracleHelper

    using System; using System.Configuration; using System.Data; using System.Collections; using Oracle. ...

  4. ListenableFuture in Guava

    ListenableFuture的说明 并发编程是一个难题,但是一个强大而简单的抽象可以显著的简化并发的编写.出于这样的考虑,Guava 定义了 ListenableFuture接口并继承了JDK c ...

  5. Windump 的用法/Windump 是什么?

    Windump   Windump是Windows环境下一款经典的网络协议分析软件,其Unix版本名称为Tcpdump.它可以捕捉网络上两台电脑之间所有的数据包,供网络管理员/入侵分析员做进一步流量分 ...

  6. 样式styles和主题theme

    参考资料:http://blog.csdn.net/sshhbb/article/details/7219838/ /values/styles.xml <resources> <! ...

  7. 在ViewDidLoad中往导航栈推ViewController报错

     Unbalanced calls to begin/end appearance transitions for <YZPMainViewController: 0x7fa04b4970f0& ...

  8. Delphi下OpenGL2d绘图(04)-画四边形

    一.前言 画四边形基本上与前几遍文字代码是相同.区别在于glBegin()的参数“GL_QUADS”.绘制的框架代码可以使用 Delphi下OpenGL2d绘图(01)-初始化 中的代码.修改的部份为 ...

  9. ssh 和 scp 命令访问非默认22端口。

    ssh :(命令中的 p 小写) ssh -p 端口号 root@服务器ip scp: (命令中的 P 大写)(-r表示将目录下的目录递归拷贝.“.*”是将所有文件包括隐藏文件.) 上传文件到服务器s ...

  10. 记DateTime.Now.ToString()遇到的一个坑

    最近在编写一个程序中遇到的 程序的简要逻辑就是一个timer控件 1.获取当前时间的短时间,例如 13:15 2.使用获取到的短时间去一个列表中查询是否有匹配的,列表中是一串短时间,类似 {" ...