Python Pandas: 使用 HDF5 文件进行噪声添加和存储
使用 Pandas 从 HDF5 文件读取数据,添加噪声并存储
本文展示使用 Python Pandas 库,从 HDF5 文件读取大型数据集,添加均值为零,方差为 800 的高斯噪声,并存储到新的 HDF5 文件中。
代码:
import pandas as pd
import numpy as np
import h5py
# 从 HDF5 文件读取数据
with h5py.File('S.hdf5', 'r') as f:
S = f['data'][:]
# 生成噪声
noise = np.random.normal(0, np.sqrt(800), S.shape)
# 将 S 和噪声相加
S_noise = S + noise
# 将 S_noise 存储为新的 HDF5 文件
with h5py.File('S_noise.hdf5', 'w') as f:
dset = f.create_dataset('data', data=S_noise)
# 使用 Pandas 读取 HDF5 文件
df = pd.read_hdf('S_noise.hdf5', 'data')
解释:
- 导入库:导入
pandas,numpy和h5py库。 - 读取 HDF5 文件:使用
h5py库打开名为 'S.hdf5' 的 HDF5 文件,并读取名为 'data' 的数据集。 - 生成噪声:使用
numpy.random.normal函数生成一个形状与S相同的随机噪声,均值为 0,方差为 800。 - 添加噪声:将生成的噪声添加到
S中,得到S_noise。 - 存储到新的 HDF5 文件:使用
h5py库创建一个名为 'S_noise.hdf5' 的新的 HDF5 文件,并存储S_noise作为名为 'data' 的数据集。 - 使用 Pandas 读取:使用
pandas.read_hdf函数读取新的 HDF5 文件,并将数据存储在名为df的 Pandas DataFrame 中。
注意:
- 此代码假设 HDF5 文件中只有一个名为 'data' 的数据集。
- 你可以根据需要修改噪声的均值和方差。
- 使用 Pandas 读取 HDF5 文件时,需要指定数据集的名称。
希望以上内容对您有所帮助。
原文地址: https://www.cveoy.top/t/topic/neoJ 著作权归作者所有。请勿转载和采集!