【发布时间】:2017-06-12 00:15:27
【问题描述】:
这是我的文件格式。我正在尝试对列进行平均,但出现如下所示的错误。谁能给我一些建议吗?
文件格式为:
0.000 -2953.187 -11363.859 -14317.047
500.000 -3178.028 -11301.687 -14479.715
1000.000 -2973.863 -11309.533 -14283.396
1500.000 -2964.465 -11294.120 -14258.584
2000.000 -3066.929 -11240.302 -14307.231
2500.000 -3156.522 -11223.589 -14380.111
3000.000 -3230.069 -11573.224 -14803.293
脚本是:
import numpy as np
file = open('energy_MM.xvg', 'r')
x = []
for line in file:
cols=line.split()[1]
x.append(float(cols[0]))
numpy.mean(x)
错误是:
Traceback (most recent call last):
File "binding.py", line 10, in <module>
x.append(float(cols[0]))
ValueError: could not convert string to float: '-'
【问题讨论】:
-
你为什么不用熊猫?
-
Pandas 是一个强大的工具,在这里可以很好地工作。但是,这并不能回答 OP 的问题。您的数据文件中发生了一些事情。在某些时候,您有一个空格,后跟一个破折号,然后是另一个空格,这会导致在尝试转换为浮点数时抛出 ValueError。尝试在浮点转换之前添加打印语句以查看“x”是什么,或者在 Python 解释器中运行脚本并从那里开始工作。您所做的应该可以工作,但您的文件很可能格式不一致。
标签: python python-3.x numpy average