一、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个方法进行对比,看是否都相等,返回布尔值
求最大值结果图: