You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将字典内numpy数组各行分别保存为独立npy文件

正确实现方案

注意:不要使用ndarray.tofile()生成.npy文件,该方法仅写入数组原始二进制值,不会保留numpy数组的shape、dtype等元信息,后续读取易出现数据解析错误,标准.npy格式需要使用numpy.save()接口生成。

遍历数组行时需要同步获取行的索引,才能和lists列表中按顺序对应的名称匹配,使用enumerate即可同时拿到行索引和行数据,完整代码如下:

import numpy as np

# 原有数据集定义
lists = ['first_data', 'second_data']
dict_array = {
    '1': np.array([[1., 1., 2., 2.],
                   [3., 3., 4., 4.]]),
    '2': np.array([[10., 1., 21., 1.],
                   [24., 12., 32., 33.]])
}

# 遍历保存文件
for dict_key, cur_array in dict_array.items():
    # 同步获取行索引、行内容,索引和lists元素位置一一对应
    for row_idx, row_data in enumerate(cur_array):
        # 按命名规则拼接文件名
        save_filename = f"{dict_key}_{lists[row_idx]}.npy"
        # 写入标准npy格式文件
        np.save(save_filename, row_data)

运行后生成的文件完全匹配命名要求:

  • dict_array['1']第一行 → 1_first_data.npy
  • dict_array['1']第二行 → 1_second_data.npy
  • dict_array['2']第一行 → 2_first_data.npy
  • dict_array['2']第二行 → 2_second_data.npy

额外提示:请提前确认字典中每个numpy数组的行数和lists的长度一致,否则会触发索引越界报错,存在数据长度不统一的场景可以提前加长度校验逻辑。

内容的提问来源于stack exchange,提问作者ymmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 11:57:21