Python Pandas 数据扩充:使用高斯噪声和随机采样
Python Pandas 数据扩充:使用高斯噪声和随机采样
本代码示例演示了如何使用 Python Pandas 库扩充数据集。通过注入高斯噪声和随机采样,将3组14维数据扩充至99组,并保存到Excel表格。
代码:
import pandas as pd
import numpy as np
import random
# 读入3组14维已知数据
data = pd.read_excel('data.xlsx', header=None)
# 注入高斯噪声
mean = 0
std_dev = 0.05
noisy_data = data.apply(lambda x: x + np.random.normal(mean, std_dev, len(x)))
# 扩充数据为99组14维数据
num_samples = 99
expanded_data = pd.DataFrame(columns=data.columns)
for i in range(num_samples):
row = noisy_data.iloc[random.randint(0, len(noisy_data)-1)]
expanded_data = pd.concat([expanded_data, pd.DataFrame([row])], ignore_index=True)
# 导出Excel表格
expanded_data.to_excel('expanded_data.xlsx', header=False, index=False)
代码说明:
- 读入数据: 使用
pd.read_excel()函数从名为 'data.xlsx' 的 Excel 文件中读取数据,并存储在名为data的 Pandas DataFrame 中。 - 注入高斯噪声: 使用
np.random.normal()函数生成高斯噪声,并使用data.apply()函数将噪声添加到原始数据中,得到名为noisy_data的 DataFrame。 - 扩充数据: 使用循环,从
noisy_dataDataFrame 中随机选择一行,并将其添加到名为expanded_data的 DataFrame 中。 - 导出数据: 使用
expanded_data.to_excel()函数将扩充后的数据保存到名为 'expanded_data.xlsx' 的 Excel 文件中。
注意:
- 本代码示例假设 'data.xlsx' 文件存在于当前目录下,并且包含 3 组 14 维数据。
- 为了使用
pd.concat()函数进行数据拼接,需要将row转换为 DataFrame。 - 您可以根据自己的需要调整代码中的参数,例如
num_samples和std_dev。
希望这篇文章能够帮助您理解如何使用 Python Pandas 库扩充数据集。如果您有任何问题,请随时留言。
原文地址: https://www.cveoy.top/t/topic/nTwr 著作权归作者所有。请勿转载和采集!