【python学习笔记】scipy在数据分析中的应用

本文介绍了Scipy库在数学优化(包括无约束和约束优化)、信号处理、统计分析(如独立样本t检验和分布计算)以及插值(线性插值和可视化)方面的应用,适合初学者了解其基本功能和使用方法。
摘要由CSDN通过智能技术生成

一、了解scipy的特点:

  • 优化:Scipy包括了各种数学优化算法,可以用于寻找函数的最小值或最大值。
  • 信号处理:Scipy提供了一系列信号处理工具,用于分析和处理信号数据。
  • 统计分析:Scipy包括了各种统计分析函数,用于描述和分析数据的统计特性。
  • 插值:Scipy提供了插值函数,用于估计在给定数据点之间的值。
  • 线性代数:Scipy包括了线性代数工具,用于解决线性方程组矩阵分解等问题。

总结:方便了优化、信号处理、统计、差值等计算。

二、scipy特定的应用

(一)数学优化:寻找最优解

1.导入minimize函数

from scipy.optimize import minimize

2.优化

def objective(x):
    return x[0] ** 2 + x[1] ** 2


# 初始猜测,给算法提供一个搜索起点
x0 = [1, 1]
(1)无约束优化
# 执行无约束优化
#result = minimize(objective, x0, method='BFGS')  # 拟牛顿方法寻找最小值
(2)约束优化
#约束条件的形式,'ineq'代表线性不等式约束,'fun'包含的是线性不等式的约束条件,x0>=2
consraint = (
    {'type': 'ineq', 'fun': lambda x: x[0] - 2},
    {'type': 'ineq', 'fun': lambda x: x[1] - 2}
)

#执行约束优化
result = minimize(objective, x0, method = 'SLSQP', constraints = consraint)

(二)统计分析

1导入统计模块:stats

from scipy import stats

2 假设检验

data1 = numpy.random.normal(0, 1, 100)
data2 = numpy.random.normal(0, 1, 100)

#执行独立样本t检验
t_statistic, p_value = stats.ttest_ind(data1, data2)

3 统计分布

# 创建一个正态分布随机变量
rv = stats.norm(loc=0, scale=1)
# 计算概率密度函数的值
pdf_value = rv.pdf(0)
# 计算累积分布函数的值
cdf_value = rv.cdf(0.5)

(三)插值

1 导入差值模块:interpolate

from scipy import interpolate

2 差值方法

(1)线性插值:interp1d

x = np.array([0, 1, 2, 3, 4])
y = np.array([0, 1, 4, 9, 16])

#创建线性插值的函数
linear_interp = interpolate.interp1d(x, y)

new_x = np.array([0.5, 2.5])

interpolate_values = linear_interp(new_x)

(2)可视化展现

fig = plt.figure()
plt.scatter(x, y,c='r')
plt.scatter(new_x,new_y,c='b')
plt.show()

(3)结果展示:


小白对scipy的初步学习,欢迎各位大佬走过路过补充知识,互相学习~~~

参考:

https://www.jb51.net/python/3048161cl.htm

目录

一、了解scipy的特点:

二、scipy特定的应用

(一)数学优化:寻找最优解

1.导入minimize函数

2.优化

(1)无约束优化

(2)约束优化

(二)统计分析

(三)插值


  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值