在Python中,如何获取2D数组中“列”的最大值?

时间:2018-10-01 22:49:19

标签: python python-3.x

在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]))

我已经检查了堆栈溢出,但是似乎没有人解决所有问题,但是有很多类似的问题。

谢谢, 约翰

1 个答案:

答案 0 :(得分:2)

而不是显式遍历数组之类的元素(或子数组)

for x in range(1, 12):
    print(np.max(npTrainingData[:x]))

有numpy个函数,可以对其应用在哪个轴上进行控制。例如。 np.max

np.max(npTrainingData, 0)

或等效地

npTrainingData.max(0)

这里的0axis参数,对于2D数组可以为0或1。
留空时,将返回扁平化数组的最大值,即整个数据集的单个值。