使用 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')

解释:

  1. 导入库:导入 pandas, numpyh5py 库。
  2. 读取 HDF5 文件:使用 h5py 库打开名为 'S.hdf5' 的 HDF5 文件,并读取名为 'data' 的数据集。
  3. 生成噪声:使用 numpy.random.normal 函数生成一个形状与 S 相同的随机噪声,均值为 0,方差为 800。
  4. 添加噪声:将生成的噪声添加到 S 中,得到 S_noise
  5. 存储到新的 HDF5 文件:使用 h5py 库创建一个名为 'S_noise.hdf5' 的新的 HDF5 文件,并存储 S_noise 作为名为 'data' 的数据集。
  6. 使用 Pandas 读取:使用 pandas.read_hdf 函数读取新的 HDF5 文件,并将数据存储在名为 df 的 Pandas DataFrame 中。

注意:

  • 此代码假设 HDF5 文件中只有一个名为 'data' 的数据集。
  • 你可以根据需要修改噪声的均值和方差。
  • 使用 Pandas 读取 HDF5 文件时,需要指定数据集的名称。

希望以上内容对您有所帮助。

Python Pandas: 使用 HDF5 文件进行噪声添加和存储

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

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