PEMS数据集与.h5文件读取

PEMS(Performance Measurement System)是加利福尼亚州交通管理系统的一部分,提供了用于交通流量和性能测量的数据。PEMS数据集通常提供了大量的交通流量、速度、占有率等方面的时间序列数据。

在PEMS数据集中,数据的格式通常是时间序列格式,其中包含了对交通流量、速度、占有率等指标的观测。这些数据可以以CSV(逗号分隔值)格式或其他结构化的格式呈现。

以PEMS-BAY数据集为例:

HDF5 文件可以包含多个组和数据集,因此上述示例使用 visititems 方法递归地访问文件中的每个项目,并打印它们的类型(Group 或 Dataset)。如果你知道文件结构,也可以直接访问特定的组和数据集。

import h5py
file_path = 'D:\\车流量预测\\模型\\data\\pems-bay.h5'
with h5py.File(file_path,'r') as file:
    #查看文件中的组和数据集
    def print_hdf5_item(name, obj):
        if isinstance(obj, h5py.Group):  #isinstance用来检查一个对象是否是指定类型的实例
            print(f"Group:{name}")
        elif isinstance(obj, h5py.Dataset):
            print(f"Dataset: {name}")

    file.visititems(print_hdf5_item)

    dataset = file['speed/axis0']
    print(f"speed/axis0 = {dataset[()]}")
    dataset = file['speed/axis1']
    print(f"speed/axis1 = {dataset[()]}")
    dataset = file['speed/block0_items']
    print(f"block0_items = {dataset[()]}")
    dataset = file['speed/block0_values']
    print(f"block0_values = {dataset[()]}")

输出为;

Group:speed
Dataset: speed/axis0
Dataset: speed/axis1
Dataset: speed/block0_items
Dataset: speed/block0_values

speed/axis0 = [400001 400017 400030 400040 400045 400052 400057 400059 400065 400069
 400073 400084 400085 400088 400096 400097 400100 400104 400109 400122
 ...
 407710 407711 408907 408911 409524 409525 409526 409528 409529 413026
 413845 413877 413878 414284 414694]

speed/axis1 = [1483228800000000000 1483229100000000000 1483229400000000000 ...
 1498866300000000000 1498866600000000000 1498866900000000000]

block0_items = [400001 400017 400030 400040 400045 400052 400057 400059 400065 400069
 400073 400084 400085 400088 400096 400097 400100 400104 400109 400122
 ...
 407710 407711 408907 408911 409524 409525 409526 409528 409529 413026
 413845 413877 413878 414284 414694]

block0_values = [[71.4 67.8 70.5 ... 68.8 71.1 68. ]
 [71.6 67.5 70.6 ... 68.4 70.8 67.4]
 [71.6 67.6 70.2 ... 68.4 70.5 67.9]
 ...
 [71.4 66.9 68.1 ... 68.4 71.6 66.6]
 [72.2 66.5 68.  ... 68.7 71.6 68.4]
 [71.5 66.2 68.4 ... 68.7 71.6 68. ]]

维度为:

speed/axis0 = (325,)
speed/axis1 = (52116,)
block0_items = (325,)
block0_values = (52116, 325)  #存的是速度值

52116条数据,325个传感器

你可能感兴趣的:(python,机器学习,深度学习)