在Python中,如何获取2D数组中“列”的最大值?
我可以看到trainingData的最大值和最小值是整个2D数组的最大值和最小值,但是我希望每个“列”的最大值。
我已经尝试了几件事,这是我的最后一次尝试,但是似乎没有用:
创建它:
trainingData = []
填充:
for row in csv_reader:
trainingData.append(row)
转换为np
npTrainingData = np.array(trainingData)
打印:
for x in range(1, 12):
print(np.max(npTrainingData[:x]))
我已经检查了堆栈溢出,但是似乎没有人解决所有问题,但是有很多类似的问题。
谢谢, 约翰
答案 0 :(得分:2)
而不是显式遍历数组之类的元素(或子数组)
for x in range(1, 12):
print(np.max(npTrainingData[:x]))
有numpy个函数,可以对其应用在哪个轴上进行控制。例如。 np.max
:
np.max(npTrainingData, 0)
或等效地
npTrainingData.max(0)
这里的0
是axis
参数,对于2D数组可以为0或1。
留空时,将返回扁平化数组的最大值,即整个数据集的单个值。