一、函数的基本用法
numpy
NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
特殊值
np.nan 和 np.inf
nan 是 not a number 的简写,意为不是数字,inf 是 infinity 的简写,意为无穷大。np.nan 也可以写作 np.Nan、np.NaN 或者 np.NAN,np.inf 也可以写作 np.Inf 或 np.Infinity。
数学函数
数学常数、舍入函数、快速转换函数、幂函数、指数函数和对数函数、部分三角函数
统计函数
查找特殊值、求和差积、均值和方差、相关系数
对数组进行索引和切片
如使用a[i],a[i,j],a[:,j],a[i:j:k]等语法
差值函数
数据插值是数据处理过程中经常用到的技术,常用的插值有一维插值、二维插值、高阶插值等,常见的算法有线性插值、B样条插值、临近插值等。不过,NumPy只提供了一个简单的一维线性插值函数 np.interp(),其他更加复杂的插值功能放到了SciPy中。
多项式拟合函数
多项式拟合函数np.polyfit()
只需要输入一组自变量的离散值,和一组对应的函数 f ( x ) ,并指定多项式次数 k,就可以返回一组最佳系数。函数np.polyfit(),则可以将一组最佳系数转成函数 g(x)。
自定义广播函数
广播是NumPy最具特色的特性之一,几乎所有的NumPy函数都可以通过广播特性将操作映射到数组的每一个元素上。然而NumPy函数并不能完成所有的工作,有些工作还需要我们自己来定义函数。如何让我们自己定义的函数也可以广播到数组的每一个元素上,就是自定义广播函数要做的事情。
scipy
scipy是基于numpy的一个科学计算库,它提供了更多的高级函数和模块,涵盖了优化,积分,插值,傅里叶变换,信号处理,图像处理,常微分方程等领域
scipy.optimize.minimize():用于最小化一个目标函数的优化器。
scipy.integrate.quad():用于数值积分,计算函数在给定区间上的定积分值。
scipy.linalg.inv():计算矩阵的逆。 scipy.linalg.solve():求解线性方程组。
scipy.stats.norm():正态分布的概率密度函数、累积分布函数等统计量的计算。
scipy.fft.fft():进行快速傅里叶变换。
scipy.signal.convolve():实现信号的卷积运算。
scipy.interpolate.interp1d():进行一维数据的插值操作。
scipy.cluster.vq.kmeans():使用 k-means 算法进行聚类分析。
scipy.spatial.distance.euclidean():计算两个向量之间的欧氏距离。
pandas
Pandas 是一个开源的数据处理和分析库,它提供了高效、灵活和易于使用的数据结构和工具。主要功能包括数据读取和写入、数据清洗和预处理、数据索引和选择、数据分析和统计,以及数据可视化。它被广泛应用于数据科学、金融分析和机器学习等领域。
pandas.read_csv():读取 CSV 文件中的数据。
pandas.DataFrame():创建一个数据框。
pandas.Series():创建一个序列。
pandas.head():显示数据框的前几行。
pandas.tail():显示数据框的后几行。
pandas.shape():返回数据框的维度。
pandas.groupby():根据指定的列对数据进行分组。
pandas.merge():将两个数据框按照指定的列进行合并。
pandas.pivot_table():生成透视表。
pandas.apply():对数据框中的每一行或每一列应用一个自定义函数。
matplotlib
Matplotlib 是一个用于绘制图表和可视化数据的 Python 库。它简单易用,支持多种图表类型,并提供强大的定制化能力。用户可以根据需求选择合适的图表类型,并自定义图表的样式和属性。Matplotlib 还与 NumPy 和 Pandas 紧密集成,方便地处理和可视化数据。
matplotlib.pyplot.plot():绘制折线图。
matplotlib.pyplot.scatter():绘制散点图。
matplotlib.pyplot.bar():绘制直方图。
matplotlib.pyplot.hist():绘制柱状图。
matplotlib.pyplot.pie():绘制饼图。
matplotlib.pyplot.boxplot():绘制箱线图。
matplotlib.pyplot.imshow():显示图片。
matplotlib.pyplot.subplot():创建多个子图。
matplotlib.pyplot.legend():显示图例。
matplotlib.pyplot.title():设置图表标题。
二、解决具体问题
numpy
- 数组的转置
- 计算数组的平均值、最大值和最小值
scipy
给定一个数组 x 和一个函数 y = f(x),计算该函数在指定区间内的积分值。
pandas
给定一个包含学生信息的数据集,计算每个学生的平均成绩和总分
三、图像处理
matplotlib
绘制折线图