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个传感器

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值