Numpy:数组的sum、max、argmax 函数

一、Numpy的求和函数:sum

print("-----------一维数组使用sum函数是对全部元素求和------------------")
vector = numpy.array([5, 10, 15, 20])
print(vector.sum())  # 返回:50

print("-----------二维数组求和,一般与axis结合使用-----------------------")
matrix = numpy.array([
                [5, 10, 15], 
                [20, 25, 30],
                [35, 40, 45]
             ])
print(matrix.sum(axis=1))   # 对每行求和,返回:[ 30  75 120]

print(matrix.sum(axis=0))   # 对每列求和,返回:[60 75 90]

二、求最大值:

import numpy as np
data = np.sin(np.arange(20)).reshape(5,4)   # 用.reshape(5,4) 将一维数组转变为5行4列的数组
print (data)

print("---------方法1:求每列最大值的索引位置:data.argmax(axis=0)------------")
# 求每列最大值的方法1:
ind = data.argmax(axis=0)  # 求出每列最大值的索引位置
print (ind)  # 返回每列最大值在该列的索引位置,返回:[2 0 3 1]

data_max = data[ind, range(data.shape[1])]  # 获取每列最大的值,用列表存放
print (data_max)

# data_max = data[[2 0 3 1],[0,1,2,3]]  这里本质和上面的代码是一样的


print(data.shape)
print(data.shape[1])  # 打印出data矩阵里有多少列

print("---------------方法2:求每列的最大值方法:data.max(axis=0)-------------")
print(data.max(axis=0))

print(all(data_max == data.max(axis=0)))  # 第1个方法得到的每列的最大值和第2个方法进行对比,看是否都相等,返回布尔值

求最大值结果图:

原文地址:https://www.cnblogs.com/wodexk/p/10309187.html