我使用numpy.genfromtxt从csv加载了一些数据。
这给了我一个数组(n,3),其中n可以达到~500000。
我想在n = n1和n = n2之间的三列中找到最大值。
在Matlab中,我很好,但Python是一个新的野兽!
(Python新手,使用Spyder& Anaconda。)
答案 0 :(得分:4)
numpy数组有max
方法。例如
import numpy as np
data = np.arange(30).reshape((10, 3))
n1, n2 = 2, 5
max_value = data[n1:n2, :].max()
max_value
是14
。
如果要查找每列的最大值:
max_values = data[n1:n2, :].max(axis=0)
在这种情况下,max_values
为array([12, 13, 14])
答案 1 :(得分:1)
这就是我所做的。我很高兴反馈 - 感觉它应该是一个单行:
M=numpy.max(a[n1:n2,:],axis=0)
M=numpy.max(M)