从导入.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
参数更改数据类型,但它引发了同样的错误。有谁知道可能是什么问题?在此先感谢您的帮助!
答案 0 :(得分:4)
遗憾的是loadtxt()
的输出有点不一致:如果您的文件中只有一行,x
和y
将是标量,但对于多行,它们将是数组。 Python内置的max()
仅适用于iterables,因此它仅适用于后一种情况。
无论如何,使用Python内置的max()
函数代替numpy.max()
对NumPy数组来说是低效的。所以解决方案是使用
print x.max()
或
print numpy.max(x)
在第二行。