一、基本函数用法
NumPy(Numerical Python):
NumPy是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy的核心理念是将Python中的数据类型统一为多维数组(ndarray),并定义了一系列用于操作这些数组的函数。这使得NumPy在数值计算方面表现出色,特别是在线性代数、统计分析等领域。
numpy.array(): 创建一个多维数组,用于存储数值数据。
numpy.zeros(): 创建一个指定形状的全零数组。
numpy.ones(): 创建一个指定形状的全一数组。
numpy.linspace(): 在指定范围内创建等差数列。
numpy.mean(), numpy.std(): 分别用于计算数组的平均值和标准差。
SciPy(Scientific Python):
SciPy是建立在NumPy之上的一个开源的Python算法库和数学工具包。SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解和其他科学与工程中常用的计算。SciPy的功能非常强大,几乎涵盖了所有科学计算领域,是数据科学家和工程师们不可或缺的工具。
scipy.stats.norm.pdf(): 计算正态分布的概率密度函数值。
scipy.stats.norm.cdf(): 计算正态分布的累积分布函数值。
scipy.stats.ttest_ind(): 对两个独立样本进行 t 检验。
scipy.ndimage中的函数提供了丰富的图像处理功能。
Pandas:
Pandas是一个强大的数据分析工具,它基于NumPy构建,提供了高效且易于使用的数据结构(如Series和DataFrame)和数据分析工具。Pandas使得数据清洗、转换、聚合和可视化等操作变得简单而直观。同时,Pandas还支持多种文件格式(如CSV、Excel、SQL等)的读写操作,极大地提高了数据处理的效率。
pandas.DataFrame(): 创建一个数据表格(DataFrame),用于存储和操作结构化数据。
pandas.Series(): 创建一个一维数组(Series),类似于 Excel 中的一列。
df.head(), df.tail(): 分别显示 DataFrame 的前几行和后几行。
df.groupby(): 对 DataFrame 进行分组操作。
df.merge(), df.join(): 用于合并两个 DataFrame。
Matplotlib:
Matplotlib是一个Python的2D绘图库,它提供了大量的绘图函数和接口,可以用于绘制各种类型的图表,如折线图、散点图、柱状图等。Matplotlib与NumPy和Pandas等库紧密集成,可以方便地将数据分析结果以图表的形式展示出来。此外,Matplotlib还支持多种输出格式(如PNG、PDF、SVG等),满足不同场景下的需求。
matplotlib.pyplot.plot(): 绘制线图。
matplotlib.pyplot.scatter(): 绘制散点图。
matplotlib.pyplot.bar(): 绘制条形图。
matplotlib.pyplot.hist(): 绘制直方图。
使用 plt.figure(), plt.subplot() 等函数可以创建复杂的图表布局。
二、解决一些具体问题
NumPy(Numerical Python):
解方程组
import numpy as np
A = np.array([[2, 3], [4, 5]])
b = np.array([6, 7])
Ax = b x = np.linalg.solve(A, b)
print("解为:", x)
SciPy(Scientific Python):
统计分析之概率分布
import numpy as np from scipy import stats
mu, sigma = 0, 0.1
s = np.random.normal(mu, sigma, 1000)
x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100)
pdf_values = stats.norm.pdf(x, mu, sigma)
cdf_values = stats.norm.cdf(x, mu, sigma)
Pandas:
从 CSV 文件中读取数据
import pandas as pd
df = pd.read_csv('filename.csv')
print(df.head())
Matplotlib:
绘制折线图
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.figure()
plt.plot(x, y)
plt.xlabel('X轴标签')
plt.ylabel('Y轴标签')
plt.title('我的第一个折线图')
plt.show()
三、图像处理
Matplotlib:
绘制折线图