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

Python中numpy.loadtxt报错:无法将字符串转为浮点数

问题:读取带表头的txt文件时触发ValueError

问题重现

执行代码

import numpy as np

Mean,Std = np.loadtxt('Mean_Std.txt',unpack=True)
print([Mean])
print([Std])

目标文件Mean_Std.txt内容

Mean              Std
41.96969696969697 0.22727272727273018
29.646464646464647 2.3263867473915276
24.444444444444443 2.836612913158948
22.424242424242426 3.2698851295313993
21.262626262626263 3.4897856988730362
20.80808080808081 4.038667556139951
20.606060606060606 4.342039357850636
20.606060606060606 4.342039357850636
20.606060606060606 4.342039357850636
20.606060606060606 4.342039357850636

报错信息

Traceback (most recent call last):

  File "C:\Users\USER\OneDrive - Technion\Research_Technion\Python_PNM\Sept17_2022\220\var_1_beta_1e-1\Test.py", line 19, in <module>
    Mean,Std = np.loadtxt('Mean_Std.txt',unpack=True)

  File "C:\Users\USER\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 1146, in loadtxt
    for x in read_data(_loadtxt_chunksize):

  File "C:\Users\USER\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 997, in read_data
    items = [conv(val) for (conv, val) in zip(converters, vals)]

  File "C:\Users\USER\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 997, in <listcomp>
    items = [conv(val) for (conv, val) in zip(converters, vals)]

  File "C:\Users\USER\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 734, in floatconv
    return float(x)

ValueError: could not convert string to float: 'Mean'

期望输出

[array([41.96969697, 29.64646465, 24.44444444, 22.42424242, 21.26262626,
       20.80808081, 20.60606061, 20.60606061, 20.60606061, 20.60606061])]
[array([0.22727273, 2.32638675, 2.83661291, 3.26988513, 3.4897857 ,
       4.03866756, 4.34203936, 4.34203936, 4.34203936, 4.34203936])]

错误原因

np.loadtxt默认会尝试解析文件中所有行的内容为数值类型,但目标文件第一行是字符串表头('Mean'和'Std'),无法转换为浮点数,因此触发ValueError。

解决方案

在np.loadtxt中添加skiprows=1参数,跳过第一行的表头内容,仅解析后续的数值行:

import numpy as np

# 跳过第一行表头,仅读取数值数据
Mean, Std = np.loadtxt('Mean_Std.txt', unpack=True, skiprows=1)
print([Mean])
print([Std])

执行修改后的代码,即可得到你期望的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:35:24