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

txt数据集转npy文件时保留原始形状的加载方法咨询

问题原因

你当前加载得到一维数组的核心原因是两个参数设置错误:

  • 指定了dtype=str,numpy会将每行完整内容识别为单个字符串元素,不会拆分每行的多个数值
  • 没有显式指定分隔符参数delimiter,numpy无法正确识别每行内30个特征的拆分规则

解决方法

不需要更换加载函数,调整np.genfromtxt的参数即可,也可以选择格式更规整的np.loadtxt处理无缺失的数值数据集:

方法1:使用调整参数的np.genfromtxt

import numpy as np
# 根据你的txt实际分隔符调整delimiter取值,空格分隔填' ',逗号分隔填','
array_from_file = np.genfromtxt(
    "machine-1-5.txt",
    dtype=np.float64,  # 你的原始数据是浮点值,直接指定浮点类型即可
    delimiter=' ',  # 替换为你txt实际使用的列分隔符
    # 如果文件有表头行,新增参数 skip_header=1 跳过表头
    # 如果有缺失值,可以新增 missing_values='', filling_values=np.nan 处理
)
# 验证形状是否符合预期
print(array_from_file.shape)
# 导出为npy文件
np.save("machine-1-5.npy", array_from_file)

方法2:使用np.loadtxt(适合无缺失值的规整数据集)

如果你的txt数据集没有缺失值、格式完全统一,用np.loadtxt加载速度更快:

import numpy as np
array_from_file = np.loadtxt(
    "machine-1-5.txt",
    dtype=np.float64,
    delimiter=' ' # 同样替换为实际列分隔符
)
np.save("machine-1-5.npy", array_from_file)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:54:05