对3组14维已知数据导入excel表注入高斯噪声扩充为99组不一样的14维数据并导出为Excel表格python代码
以下是Python代码实现:
import numpy as np
import pandas as pd
# 生成3组14维数据
data = np.random.rand(3, 14)
# 注入高斯噪声
mean = 0
stddev = 0.1
noise = np.random.normal(mean, stddev, size=(3, 14))
noisy_data = data + noise
# 扩充为99组数据
expanded_data = np.zeros((99, 14))
for i in range(99):
if i < 3:
expanded_data[i] = noisy_data[i]
else:
noise = np.random.normal(mean, stddev, size=14)
expanded_data[i] = noisy_data[i%3] + noise
# 导出为Excel表格
df = pd.DataFrame(expanded_data)
df.to_excel("expanded_data.xlsx", index=False, header=None)
解释一下代码:
首先生成3组14维随机数据。然后使用numpy.random.normal()方法注入高斯噪声,其中mean为0,stddev为0.1。这里使用了广播运算,将噪声加到数据上。
接着,将数据扩充为99组。这里使用了一个循环,如果下标小于3,则使用原始数据,否则生成一个随机噪声并加到对应的原始数据上。注意,这里使用了取余运算,以便将数据循环使用。
最后,将扩充后的数据导出为Excel表格。使用pandas.DataFrame()方法将数据转换为DataFrame格式,然后使用to_excel()方法导出为Excel文件。其中,index=False表示不导出行索引,header=None表示不导出列名
原文地址: https://www.cveoy.top/t/topic/eB3I 著作权归作者所有。请勿转载和采集!