NumPy, SciPy, Pandas, 和 Matplotlib 读书报告

一、初识NumPy, SciPy, Pandas, Matplotlib

随着数据科学的快速发展,Python已经成为这一领域的重要工具之一。在Python的众多库中,NumPySciPyPandasMatplotlib是数据分析、科学计算和可视化中不可或缺的四个库。本报告旨在概述这四个库的基本功能、应用场景以及它们之间的关联。

二、NumPy

NumPyNumerical Python)是Python中用于进行数值计算的基础库。它提供了高性能的多维数组对象,以及用于操作这些数组的函数。NumPy数组是固定大小的同类型元素的集合,这使得对大量数据的操作变得高效。NumPy还支持复杂的数学函数、线性代数运算、随机数生成等功能。

应用场景:NumPy在数据分析、机器学习、图像处理等领域有着广泛的应用。例如,在数据分析中,可以使用NumPy进行数据的预处理、转换和聚合等操作。

三、SciPy

SciPy是基于NumPy构建的开源Python库,用于数学、科学和工程计算。它包含了大量用于数学运算、统计、优化、信号处理等领域的函数和模块。SciPy的功能强大且多样,能够处理从简单线性代数到复杂积分的一系列问题。

应用场景:SciPy在数据分析、物理建模、信号处理等领域具有重要地位。例如,在信号处理中,可以使用SciPy的滤波器设计函数来处理信号中的噪声和干扰。

四、Pandas

Pandas是一个提供强大数据处理和分析功能的Python库。它提供了DataFrameSeries两种数据结构,用于存储和操作表格型数据。Pandas支持数据清洗、转换、聚合、可视化等多种操作,并提供了丰富的接口与其他库(如NumPySciPyMatplotlib)进行交互。

应用场景:Pandas在数据分析、数据科学、机器学习等领域有着广泛的应用。例如,在数据科学项目中,可以使用Pandas进行数据清洗和预处理,为后续的建模和分析提供高质量的数据。

五、Matplotlib

Matplotlib是一个用于绘制静态、动态和交互式图形的Python库。它提供了丰富的绘图函数和工具,支持多种图形类型(如折线图、散点图、柱状图等)和自定义样式。MatplotlibNumPyPandas等库紧密集成,使得数据可视化变得简单而高效。

应用场景:Matplotlib在数据分析、科学研究、工程应用等领域有着广泛的应用。例如,在数据分析中,可以使用Matplotlib绘制各种图表来展示数据的特征和规律。

NumPy基本函数用法

  1. 数组变换
    • .reshape(shape): 不改变当前数组,按照新的形状重新组织数组元素。
    • .resize(shape): 改变当前数组的形状和大小。
    • .swapaxes(ax1, ax2): 交换数组的两个轴。
    • .flatten(): 将数组降维为一维数组。
  2. 数组运算
    • np.abs(a): 计算数组a中各元素的绝对值。
    • np.sqrt(a): 计算数组a中各元素的平方根。
    • np.square(a): 计算数组a中各元素的平方。

SciPy基本函数用法

  • stats.describe(X): 计算输入数组X的描述性统计量,包括均值、方差、标准差等。
  • stats.relfreq(a, numbins=10): 计算相对频率直方图,展示每个区间内观测值占总观测值比例。

Pandas基本函数用法

  1. 数据查看
    • df['A'].value_counts(): 查看DataFrame中某一列不同值的计数。
    • df['A'].unique(): 查看DataFrame中某一列的唯一值。
    • df.duplicated(): 检查DataFrame中的重复行。
  2. 数据排序
    • df.sort_values(by='A'): 对DataFrame按照某一列进行升序排序。
    • df.sort_values(by='A', ascending=False): 对DataFrame按照某一列进行降序排序。

Matplotlib基本函数用法

  • plot(): 绘制线图。
  • scatter(): 绘制散点图。
  • bar(): 绘制条形图。
  • hist(): 绘制直方图。
  • xlabel(), ylabel(), title(): 设置x轴、y轴标签和图形标题。
  • legend(): 设置图例。
  • xlim(), ylim(): 设置x轴、y轴的范围。

五.解决具体问题:

绘制三角函数

分析上述代码

import numpy as np: 导入NumPy库,并用np作为别名。NumPyPython中用于数值计算的主要库,特别是用于处理大型多维数组和矩阵。

import matplotlib.pyplot as plt: 导入Matplotlibpyplot模块,并用plt作为别名。Matplotlib是一个用于绘制图形和可视化的Python库,pyplotMatplotlib的一个接口,它提供了类似MATLAB的绘图框架。

定义x的范围和y的表达式:

x = np.linspace(0, 6, 100): 使用np.linspace函数在06之间均匀地创建100个点(包括06),并将这些点存储在数组x中。

y = np.cos(2 * np.pi * x) * np.exp(-x) + 0.8: 这里定义了y的表达式,它是x的函数。具体来说,这个函数首先计算2 * np.pi * x,然后取余弦(np.cos),接着乘以x的指数衰减(np.exp(-x)),最后加上0.8。这个函数将产生一个在06之间变化的y值数组。

绘制图形:

plt.plot(x, y, color='r', linewidth=3, linestyle="-"): 使用plt.plot函数绘制xy之间的函数关系。这里指定了几个参数:

      • color='r': 设置线条颜色为红色。
      • linewidth=3: 设置线条宽度为3
      • linestyle="-": 设置线条样式为实线
      • 显示图形:

plt.show(): 调用这个函数将绘制好的图形在屏幕上显示出来。

绘制带标签的坐标系

分析上述代码

import matplotlib.pyplot as plt: 导入 matplotlib  pyplot 模块,并为其设置别名 plt。这个模块提供了 MATLAB 风格的接口,用于绘制图形。

import matplotlib: 导入 matplotlib 模块,尽管在这个例子中并没有直接使用这个模块(除了 rcParamsmatplotlib.rcParams['font.family']='SimHei': 设置默认字体为“SimHei”。这通常是为了确保中文字符能够正常显示matplotlib.rcParams['font.sans-serif'] = ['SimHei']: 设置无衬线字体为“SimHei”。这个设置和上一个设置一起,通常用于确保中文字符在图形中能够正确显示。

绘制图形:

plt.plot([1,2,4], [1,2,3]): 使用 plot 函数绘制一个二维图形。x轴的值是 [1, 2, 4]y轴的值是 [1, 2, 3]

设置标题和轴标签:

plt.title("坐标系标题"): 设置图形的标题为坐标系标题。由于之前设置了中文字体,这个标题将使用中文字符显示。

plt.xlabel('时间 (s)'): 设置x轴的标签为时间 (s)”

plt.ylabel('范围 (m)'): 设置y轴的标签为范围 (m)”

设置x轴刻度:

plt.xticks([1,2,3,4,5],[r'$\pi/3$', r'$2\pi/3$', r'$\pi$',\ r'$4\pi/3$', r'$5\pi/3$'])

显示图形:

plt.show(): 显示图形。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值