Python实现数据分析(五)Scipy

Scipy

关键词: 数值计算库

官网https://www.scipy.org/

介绍:(选自-博主Are you ready)

文章链接https://blog.csdn.net/pythoncsdn111/article/details/98395661

  • Scipy依赖于Numpy
  • Scipy包含的功能:最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等
  • 应用场景:Scipy是高端科学计算工具包,用于数学、科学、工程学等领域
1、Integral(积分)
#encoding=utf-8
import numpy as np
from scipy.integrate import quad,dblquad,nquad # 引入积分和二元积分模块、n元积分


def main():
    # 函数以e为底的-x,范围0到无穷大的一元积分
    print(quad(lambda x:np.exp(-x),0,np.inf))
    #输出结果是该函数的结果和误差范围

    # 函数表达式 np.exp(-x*t)/t**3的二元积分,其中t和x的取值为(0,,inf)
    print(dblquad(lambda t,x:np.exp(-x*t)/t**3,0,np.inf,lambda x:1,lambda x:np.inf))

    # n元积分
    def f(x,y):
        return x*y
    def bound_y():
        return [0,0.5]
    def bound_x(y):
        return [0,1-2*y]
    print(nquad(f,[bound_x,bound_y]))

main()
2、Optimizer(优化器)
#encoding=utf-8
import numpy as np
from scipy.optimize import minimize # 计算最小值模块
from scipy.optimize import root # 计算最小值模块

def main():
    def rosen(x):
        return sum(100.0*(x[1:]-x[:-1]**2.0)**2.0+(1-x[:-1])**2.0)
    x0=np.array([1.3,0.7,1.9,2.2])
    res = minimize(rosen,x0,method='nelder-mead',options={'xtol':1e-8,'disp':True})
    print('Rose Mini:',res)
    def fun(x):
        return x+2*np.cos(x)
    sol = root(fun,0.1)
    print('Root:',sol.x,sol.fun)
main()
3、Interpolation(插值)
#encoding=utf-8
import numpy as np
from scipy.interpolate import interp1d # 一维插值
import matplotlib.pyplot as plt
from pylab import *
def main():
    x = np.linspace(0,1,10)
    y = np.sin(2*np.pi*x)
    li  = interp1d(x,y,kind='cubic')
    x_new = np.linspace(0,1,50)
    y_new = li(x_new)
    plt.figure(figsize=[20,8])
    plot(x,y,'r')
    plot(x_new,y_new,'g')
    show()
    print(y_new)
main()
4、Linear(线性计算和矩阵分解)
5、Others

【git地址】https://gitee.com/sienhao/data-analysis-python.git

在这里插入图片描述
关注公众号,获取更多资讯!

(求三连!!!)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值