Python是数据科学领域最流行的编程语言,主要是由于python源码的开源特性,使得大量的编程人员和研究人员开发了有利于科学研究的计算库和机器学习库函数。
机器学习经常使用到的库如下:
Pandas 是一个强大的数据分析库,主要用于处理和分析结构化数据。下面是一些常用的 Pandas 函数和方法:
创建数据结构:
pd.Series(data, index): 创建一个带有标签的一维数组(类似于列),可以存储任何数据类型。
pd.DataFrame(data, columns, index): 创建一个带有标签的二维表格,可以存储不同数据类型。
读取和写入数据:
pd.read_csv(filepath): 从 CSV 文件读取数据。
pd.read_excel(filepath): 从 Excel 文件读取数据。
df.to_csv(filepath): 将数据保存到 CSV 文件。
df.to_excel(filepath): 将数据保存到 Excel 文件。
查看数据:
df.head(n): 显示数据框的前 n 行。
df.tail(n): 显示数据框的最后 n 行。
df.info(): 显示有关数据框的摘要信息,包括数据类型和缺失值。
df.describe(): 显示数据的统计摘要。
数据选择和过滤:
df[column] 或 df.column: 选择列。
df.loc[row_label, column_label]: 按标签选择数据。
df.iloc[row_index, column_index]: 按位置选择数据。
df.query('condition'): 根据条件查询数据。
数据清洗:
df.drop(labels, axis): 删除指定标签的行或列。
df.fillna(value): 用指定的值替换缺失值。
df.drop_duplicates(): 删除重复行。
df.rename(columns={'old_name': 'new_name'}): 重命名列。
数据操作:
df.groupby(column): 按列分组。
df.merge(other_df, how): 合并两个数据框。
df.concat([df1, df2]): 沿指定轴连接数据框。
df.sort_values(by, ascending): 按列值排序数据。
统计计算:
df.mean(), df.median(), df.std(): 计算均值、中位数、标准差等统计量。
df.sum(), df.min(), df.max(): 计算总和、最小值、最大值等。
这只是 Pandas 提供的一小部分功能,Pandas 还包括许多其他函数和选项,可以根据具体需求查阅官方文档以获取详细信息。
参考链接:pandas官网文档
安装 pip install pandas
NumPy(Numerical Python)是一个用于科学计算的Python库,提供了一个强大的多维数组对象和用于处理这些数组的各种函数。以下是一些常用的NumPy函数和功能:
创建数组:
numpy.array(object, dtype=None): 从列表、元组等对象创建数组。
numpy.zeros(shape, dtype=float): 创建元素全为零的数组。
numpy.ones(shape, dtype=None): 创建元素全为一的数组。
numpy.arange(start, stop, step): 返回一个等差数列数组。
数组操作:
array.shape: 返回数组的形状(维度)。
array.ndim: 返回数组的维度。
array.size: 返回数组中元素的总数。
array.reshape(new_shape): 改变数组的形状。
array.flatten(): 将多维数组变成一维数组。
数组索引和切片:
array[index]: 获取数组中特定索引位置的元素。
array[start:stop]: 对数组进行切片操作。
array[condition]: 使用条件进行索引。
array[:, col_index]: 获取特定列的数据。
数学运算:
numpy.add(x1, x2): 元素相加。
numpy.subtract(x1, x2): 元素相减。
numpy.multiply(x1, x2): 元素相乘。
numpy.divide(x1, x2): 元素相除。
numpy.dot(a, b): 矩阵乘法。
统计计算:
numpy.mean(array): 计算数组的均值。
numpy.median(array): 计算数组的中位数。
numpy.std(array): 计算数组的标准差。
numpy.sum(array): 计算数组元素的总和。
随机数生成:
numpy.random.rand(shape): 生成给定形状的均匀分布随机数组。
numpy.random.randn(shape): 生成给定形状的标准正态分布随机数组。
numpy.random.randint(low, high, size): 生成给定范围内整数的随机数组。
线性代数:
numpy.linalg.inv(matrix): 计算矩阵的逆。
numpy.linalg.det(matrix): 计算矩阵的行列式。
numpy.linalg.eig(matrix): 计算矩阵的特征值和特征向量。
这只是NumPy提供的一小部分功能。NumPy对于处理大规模的数值数据和进行科学计算是非常有用的,它也是许多其他科学计算库的基础。详细信息和文档可以在NumPy官方网站找到。
参考链接:numpy官网文档
安装 pip install numpy
Matplotlib 是一个用于绘制图表和可视化数据的Python库。它提供了各种绘图功能,使用户能够创建高质量的图形,包括折线图、散点图、柱状图、饼图等。以下是一些Matplotlib的常用功能和函数:
绘制基本图形:
matplotlib.pyplot.plot(x, y): 绘制折线图。
matplotlib.pyplot.scatter(x, y): 绘制散点图。
matplotlib.pyplot.bar(x, height): 绘制柱状图。
matplotlib.pyplot.pie(data, labels): 绘制饼图。
matplotlib.pyplot.hist(data, bins): 绘制直方图。
设置图形属性:
matplotlib.pyplot.title(label): 设置图表标题。
matplotlib.pyplot.xlabel(label), matplotlib.pyplot.ylabel(label): 设置坐标轴标签。
matplotlib.pyplot.legend(): 显示图例。
matplotlib.pyplot.grid(True): 显示网格。
调整图形布局:
matplotlib.pyplot.figure(figsize): 设置图形的大小。
matplotlib.pyplot.subplots(nrows, ncols): 创建子图。
matplotlib.pyplot.subplot2grid(shape, loc, rowspan, colspan): 创建一个大的子图,并指定位置和大小。
样式和颜色:
matplotlib.pyplot.plot(x, y, linestyle, color, marker): 指定线型、颜色和标记。
matplotlib.pyplot.scatter(x, y, c, marker): 指定颜色和标记。
matplotlib.pyplot.colormaps(): 查看所有可用的颜色映射。
保存和显示图形:
matplotlib.pyplot.show(): 显示图形。
matplotlib.pyplot.savefig(filename, format): 将图形保存为文件。
其他功能:
matplotlib.pyplot.subplot() 和 matplotlib.pyplot.subplots(): 创建子图。
matplotlib.pyplot.annotate(text, xy, xytext, arrowprops): 在图上添加注释。
matplotlib.pyplot.text(x, y, s): 在指定位置添加文本。
Matplotlib的使用方式有两种主要的接口:一是基于脚本的pyplot接口,另一种是更面向对象的API。pyplot接口提供了一种类似于MATLAB的绘图方式,而更面向对象的API则允许更灵活和高级的图形定制。Matplotlib的文档和示例非常丰富,详细信息可以在Matplotlib官方网站找到。
参考链接:numpy官网文档
安装 pip install matplotlib
Scikit-learn是一个用于机器学习的Python库,提供了简单且高效的工具用于数据挖掘和数据分析。它包含了许多常用的机器学习算法、数据预处理和模型评估的功能。以下是Scikit-learn的一些常见功能和模块:
数据预处理:
sklearn.preprocessing: 包含数据预处理的工具,如缩放、标准化、编码等。
StandardScaler: 标准化数据。
MinMaxScaler: 将数据缩放到给定的范围。
LabelEncoder: 对标签进行编码。
OneHotEncoder: 对分类变量进行独热编码。
特征提取:
sklearn.feature_extraction: 用于从原始数据中提取特征的工具。
DictVectorizer: 将字典数据(例如文本数据)转换为稀疏矩阵。
模型选择和评估:
sklearn.model_selection: 提供了用于模型选择(如交叉验证)和参数调整的工具。
train_test_split: 将数据集划分为训练集和测试集。
cross_val_score: 使用交叉验证评估模型性能。
sklearn.metrics: 包含用于评估模型性能的指标。
accuracy_score: 计算分类准确率。
mean_squared_error: 计算均方误差。
监督学习:
sklearn.linear_model: 包含线性模型,如线性回归和逻辑回归。
sklearn.tree: 包含决策树和随机森林等模型。
sklearn.svm: 包含支持向量机模型。
sklearn.neighbors: 包含K近邻模型。
无监督学习:
sklearn.cluster: 包含用于聚类的算法,如K均值聚类和层次聚类。
sklearn.decomposition: 包含主成分分析(PCA)等降维算法。
模型保存与加载:
sklearn.externals.joblib: 用于保存和加载训练好的模型。
流水线(Pipeline):
sklearn.pipeline: 允许将多个转换步骤和一个估计器封装成一个工作流程。
数据集:
sklearn.datasets: 包含一些内置的数据集,方便用户练习和测试模型。
Scikit-learn 提供了一致的API设计,易于使用,同时也支持大多数常见的机器学习任务。你可以在Scikit-learn的官方网站查找详细的文档和示例。
参考链接:scikit-learn官网文档
安装 pip install scikit-learn
SciPy(Scientific Python)是一个基于NumPy构建的科学计算库,提供了许多高级的数学、科学和工程计算功能。SciPy包含了许多模块,每个模块都专注于不同的科学计算领域。以下是SciPy的一些主要模块和功能:
优化(Optimization):
scipy.optimize: 提供了用于求解最小化和约束优化问题的工具。
minimize: 最小化一个标量函数。
linprog: 线性规划问题的最小化。
curve_fit: 拟合曲线到数据。
积分(Integration):
scipy.integrate: 提供了用于数值积分的工具。
quad: 积分一个一元积分。
dblquad,tplquad: 积分多重积分。
信号处理(Signal Processing):
scipy.signal: 包含了许多用于信号处理的函数。
convolve: 卷积操作。
spectrogram: 计算信号的谱图。
线性代数(Linear Algebra):
scipy.linalg: 提供了线性代数的功能。
solve: 解线性方程组。
eigvals: 计算矩阵的特征值。
统计(Statistics):
scipy.stats: 包含了统计学的函数。
ttest: 执行t检验。
pearsonr: 计算Pearson相关系数。
插值(Interpolation):
scipy.interpolate: 用于插值的函数。
interp1d: 一维插值。
图像处理(Image Processing):
scipy.ndimage: 包含了图像处理的工具。
convolve: 多维卷积操作。
rotate: 旋转图像。
稀疏矩阵(Sparse Matrix):
scipy.sparse: 提供了用于稀疏矩阵的函数。
csr_matrix,csc_matrix: 压缩稀疏行/列矩阵。
这只是 SciPy 提供的一小部分功能。SciPy是一个强大的科学计算库,它与NumPy一起提供了一个全面的工具包,适用于科学、工程和技术计算。你可以在SciPy的官方网站找到详细的文档和示例。
参考链接:scipy官网文档
安装 pip install scipy
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形和信息可视化。它提供了一些高级接口,使得绘制各种统计图形变得更加容易。Seaborn 的设计目标是创建漂亮、信息丰富且具有良好可读性的图形。以下是 Seaborn 的一些常见功能和函数:
统计关系图:
seaborn.scatterplot(x, y, data): 绘制散点图。
seaborn.lineplot(x, y, data): 绘制线图。
seaborn.lmplot(x, y, data): 绘制回归模型和散点图。
分布图:
seaborn.histplot(data, bins): 绘制直方图。
seaborn.kdeplot(data): 绘制核密度估计图。
seaborn.distplot(data, bins, hist, kde): 绘制直方图和核密度估计图。
分类图:
seaborn.barplot(x, y, data): 绘制条形图。
seaborn.boxplot(x, y, data): 绘制箱线图。
seaborn.violinplot(x, y, data): 绘制小提琴图。
seaborn.swarmplot(x, y, data): 绘制蜂群图。
热图和矩阵图:
seaborn.heatmap(data): 绘制热图。
seaborn.clustermap(data): 绘制聚类图。
分面网格:
seaborn.FacetGrid(data, col, row): 创建分面网格。
seaborn.catplot(x, y, hue, col, row, data, kind): 绘制分面图。
颜色和样式:
seaborn.set(style): 设置图形风格。
seaborn.set_palette(palette): 设置颜色主题。
seaborn.color_palette(palette): 获取颜色调色板。
Seaborn的功能建立在Matplotlib的基础之上,因此可以与Matplotlib一起使用。它还提供了一些额外的统计图形和图表的默认样式,使得创建漂亮的图形更加容易。详细信息和示例可以在Seaborn的官方网站找到。
参考链接:seaborn官网文档
安装 pip install seaborn