numpy csv导入问题

时间:2011-06-05 14:40:54

标签: python csv numpy

从导入.csv文件中的数据时遇到一些困难。我只是想导入数据并打印最大值。这是我的代码:

>>> x, y = numpy.loadtxt('data.csv', delimiter=',', usecols=(4,5), unpack=True)
>>> print 'max =', max(x)

当我输入上面的代码时,我收到以下错误消息:

TypeError: 'numpy.float64' object is not iterable

我尝试使用dtype=int参数更改数据类型,但它引发了同样的错误。有谁知道可能是什么问题?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

遗憾的是loadtxt()的输出有点不一致:如果您的文件中只有一行,xy将是标量,但对于多行,它们将是数组。 Python内置的max()仅适用于iterables,因此它仅适用于后一种情况。

无论如何,使用Python内置的max()函数代替numpy.max()对NumPy数组来说是低效的。所以解决方案是使用

print x.max()

print numpy.max(x)

在第二行。