gpt4 book ai didi

python - 使用 VL 格式将字符串列表从 Python 存储到 HDF5 数据集

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:14 24 4
gpt4 key购买 nike

我希望下面的代码可以工作,但它没有。

import h5py
import numpy as np

with h5py.File('file.hdf5','w') as hf:
dt = h5py.special_dtype(vlen=str)
feature_names = np.array(['a', 'b', 'c'])
hf.create_dataset('feature names', data=feature_names, dtype=dt)

我收到错误消息 TypeError: No conversion path for dtype: dtype('<U1') .下面的代码确实有效,但使用 for 循环复制数据对我来说似乎有点笨拙。 有更直接的方法吗?我希望能够将字符串序列直接传递到 create_dataset功能。

import h5py
import numpy as np

with h5py.File('file.hdf5','w') as hf:
dt = h5py.special_dtype(vlen=str)
feature_names = np.array(['a', 'b', 'c'])
ds = hf.create_dataset('feature names', (len(feature_names),), dtype=dt)

for i in range(len(feature_names)):
ds[i] = feature_names[i]

注意:我的问题来自 this answerStoring a list of strings to a HDF5 Dataset from Python ,但我不认为它与该问题重复。

最佳答案

你几乎做到了,缺少的细节是将 dtype 传递给 np.array:

import h5py                                                                                                                                                                                                
import numpy as np

with h5py.File('file.hdf5','w') as hf:
dt = h5py.special_dtype(vlen=str)
feature_names = np.array(['a', 'b', 'c'], dtype=dt)
hf.create_dataset('feature names', data=feature_names)

PS:对我来说这看起来像是一个错误 - create_dataset 忽略给定的 dtype 并且不将其应用于给定的 data

关于python - 使用 VL 格式将字符串列表从 Python 存储到 HDF5 数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55282564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com