繁体   English   中英

h5py 在数据集中只存储 0

[英]h5py stores only 0s in datasets

我试图将一些值存储在 h5py 文件中,但每次我尝试将矩阵存储在数据集中时,所有矩阵元素都被替换为 0。 这是一个例子

我这样创建文件:

output_file=h5py.File('output_file', 'w')

dset=output_file.create_dataset('dset', (3,3))

for k in range(3):
    for l in range(3):
        dset[k][l]=1.

然后我读取文件并尝试打印 output

file=h5py.File('output_file', 'r')

print(file['dset'][:])

output 是

[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]

所有的 1 都变成了 0。 我究竟做错了什么?

在手册中有明确说明。 当您执行dset[k]时,您会创建一个临时数组。 这是您在执行dset[k][l] = 1.0时设置的数组的第l个元素。 该临时数组不是您想要引用的 h5py 数据集——您根本没有触及后者。

简而言之:用dset[k, l]代替索引。

试试

dset[k,l]=matrix[k][l]

反而。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM