python中如何取一列数最大值

Python025

python中如何取一列数最大值,第1张

如果是从列表中找最大值,则可以使用max(),如:

In [279]: a = range(10)

In [280]: max(a)

Out[280]: 9

如果是从数组找最大值,则可以使用numpy.max()函数,如:

In [281]: a = np.arange(10)

In [282]: a.max()

Out[282]: 9

如果是一个二维数组,取某一列的最大值,则:

In [285]: a = np.arange(12).reshape(3,4)

In [286]: a

Out[286]: 

array([[ 0,  1,  2,  3],

       [ 4,  5,  6,  7],

       [ 8,  9, 10, 11]])

In [287]: a[2,:].max()

Out[287]: 11

l = [1,2,3]

maxnum = max(l)

print(l.index(maxnum))

index函数只会返回列表里第一个匹配的值,如果最大值在列表里有多个,则无法全部查询到

一个冒泡排序的思路,逐一对比,并记住当前最大值的下标,可以得到最大值的多个下标

l = [1,2,3,0,3]

indeiesDict = {}

maxnum = 0

for i in range(len(l)):

  if i >0 :

      if l[i] >= l[i-1]:

          maxnum = l[i]

          index = i

      else:

          maxnum = l[i-1]

          index = i-1

      if indeiesDict.get(maxnum):

          indeiesDict[maxnum].add(index)

      else:

          indeiesDict[maxnum] = set([index])

print(maxnum,indeiesDict[maxnum])