Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将填充元组的一维h5py数组状对象转换为二维Dask数组?_Python_Dask_H5py - Fatal编程技术网

Python 如何将填充元组的一维h5py数组状对象转换为二维Dask数组?

Python 如何将填充元组的一维h5py数组状对象转换为二维Dask数组?,python,dask,h5py,Python,Dask,H5py,我正在尝试从hdf5文件读取数据集。h5py数据句柄的格式为1d数组 with h5py.File(files[0], 'r') as f: flux = f['/nsae'] print(flux.shape) print(flux[:5]) 我希望最终得到一个3d dask阵列: [[b'2018-02-01T00:00:00.000Z', b'2018-02-01T00:29:59.000Z', 4.95551669]

我正在尝试从hdf5文件读取数据集。h5py数据句柄的格式为1d数组


    with h5py.File(files[0], 'r') as f:
        flux = f['/nsae']
        print(flux.shape)
        print(flux[:5])
我希望最终得到一个3d dask阵列:


    [[b'2018-02-01T00:00:00.000Z', b'2018-02-01T00:29:59.000Z', 4.95551669]
     [b'2018-02-01T00:30:00.000Z', b'2018-02-01T00:59:59.000Z', 1.65919189]
     [b'2018-02-01T01:00:00.000Z', b'2018-02-01T01:29:59.000Z', 0.88306412]
     [b'2018-02-01T01:30:00.000Z', b'2018-02-01T01:59:59.000Z', 0.97632175]
     [b'2018-02-01T02:00:00.000Z', b'2018-02-01T02:29:59.000Z', 0.9270446]
    ...]
最有效的方法是什么?
最终,我将把来自许多类似文件的数据(以及来自一些csv文件的数据)放入dask数据帧中,连接到单个数据帧中,然后保存为一个新的hdf5。如果有必要,我愿意跳过阵列阶段。

hdf5数据集的数据类型是什么?数据集以元组列表的形式返回是不寻常的……类型是“|V58”,这似乎是原始数据(void)。从
打印(flux.dtype)
?看起来
arr=flux[:5]
是一个1d 5元素结构数组,包含3个字段。2是可以转换为
np.datetime64
的字节字符串,第三个是float。我不知道
dask
是否能处理
numpy
结构化数组(复合数据类型)。它当然不会是3d的。
print(flux.dtype)
给出了
[('timeBgn','S25'),('timeEnd','S25'),('flux','

    [[b'2018-02-01T00:00:00.000Z', b'2018-02-01T00:29:59.000Z', 4.95551669]
     [b'2018-02-01T00:30:00.000Z', b'2018-02-01T00:59:59.000Z', 1.65919189]
     [b'2018-02-01T01:00:00.000Z', b'2018-02-01T01:29:59.000Z', 0.88306412]
     [b'2018-02-01T01:30:00.000Z', b'2018-02-01T01:59:59.000Z', 0.97632175]
     [b'2018-02-01T02:00:00.000Z', b'2018-02-01T02:29:59.000Z', 0.9270446]
    ...]