趋近智
即使存在用于生成复杂合成数据的专门工具,许多任务仍从处理数字和表格的基本组件开始。Python生态系统中有两个库在这些基础阶段不可或缺:NumPy和Pandas。它们是启动专门机器之前必不可少的工作台工具。
NumPy,是Numerical Python的简称,是Python中进行数值计算的核心库。它最主要的特点是提供了强大的N维数组对象,通常称为ndarray。这种对象在数值运算方面比标准的Python列表效率高很多,尤其是在处理大量数据时。
NumPy对合成数据有什么用处?
numpy.random),用于生成遵循各种统计分布(如均匀分布、正态分布、泊瓦松分布等)的随机数。这通常是生成模拟随机性和变异性合成特征的起点,如第二章所述。我们来看一个简单的例子。假设我们需要为5个人生成合成年龄,假设年龄在18到65之间均匀分布。
# 导入NumPy库
import numpy as np
# 生成5个介于18(含)到66(不含)之间的随机整数
synthetic_ages = np.random.randint(low=18, high=66, size=5)
# 打印生成的年龄
print(synthetic_ages)
# 可能的输出:[42 25 61 19 33]
这个小片段展示了NumPy如何基于特定规则(在一个范围内的随机整数)轻松创建合成数字数据数组。
虽然NumPy在处理数值数组方面表现出色,但数据通常以行和列的表格形式出现,可能混合了不同的数据类型(数字、文本、类别、日期)。这时就需要用到Pandas。Pandas提供了高效、易用的数据结构和数据分析工具。
Pandas的两个主要数据结构是:
Pandas对合成数据生成有什么帮助?
我们来扩展之前的例子。我们将使用NumPy生成的synthetic_ages,并添加一个合成的类别特征,例如'Status'(例如'Active'、'Inactive'),创建一个小型表格数据集。
# 导入Pandas库
import pandas as pd
# 导入NumPy(假设之前已导入)
import numpy as np
# 生成5个随机年龄(同前)
synthetic_ages = np.random.randint(low=18, high=66, size=5)
# 生成5个随机状态
possible_statuses = ['Active', 'Inactive']
synthetic_statuses = np.random.choice(possible_statuses, size=5)
# 创建一个Pandas DataFrame
synthetic_table = pd.DataFrame({
'Age': synthetic_ages,
'Status': synthetic_statuses
})
# 打印生成的表格
print(synthetic_table)
# 可能的输出:
# Age Status
# 0 42 Active
# 1 25 Inactive
# 2 61 Active
# 3 19 Active
# 4 33 Inactive
在此示例中,我们使用NumPy进行数值生成(synthetic_ages)和基本的随机选择(synthetic_statuses),然后使用Pandas将这些数据构建成一个结构化的DataFrame,呈现一个简单的合成表格数据集。
在Python中以编程方式生成合成数据时,NumPy和Pandas通常是你首先会使用的工具。它们提供创建、处理和组织数值及表格数据所需的核心功能,形成更复杂生成技术和专业库的依据。掌握它们的基本功能对任何处理数据的人都非常有益,无论是合成数据还是其他数据。通常你可以使用pip等包管理器安装它们:pip install numpy pandas。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造