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)

代码说明:

  1. 读入数据: 使用 pd.read_excel() 函数从名为 'data.xlsx' 的 Excel 文件中读取数据,并存储在名为 data 的 Pandas DataFrame 中。
  2. 注入高斯噪声: 使用 np.random.normal() 函数生成高斯噪声,并使用 data.apply() 函数将噪声添加到原始数据中,得到名为 noisy_data 的 DataFrame。
  3. 扩充数据: 使用循环,从 noisy_data DataFrame 中随机选择一行,并将其添加到名为 expanded_data 的 DataFrame 中。
  4. 导出数据: 使用 expanded_data.to_excel() 函数将扩充后的数据保存到名为 'expanded_data.xlsx' 的 Excel 文件中。

注意:

  • 本代码示例假设 'data.xlsx' 文件存在于当前目录下,并且包含 3 组 14 维数据。
  • 为了使用 pd.concat() 函数进行数据拼接,需要将 row 转换为 DataFrame。
  • 您可以根据自己的需要调整代码中的参数,例如 num_samplesstd_dev

希望这篇文章能够帮助您理解如何使用 Python Pandas 库扩充数据集。如果您有任何问题,请随时留言。

Python Pandas 数据扩充:使用高斯噪声和随机采样

原文地址: https://www.cveoy.top/t/topic/nTwr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录