怎么用np.argmax求多维数组每一个数组的最大值

就是我如果想用np.argmax()求每一行里最大值的索引

img

比如这个是【4,4,4】,要用什么能这样子比较啊。(它是一个new-df是一个大的数组,然后list=4,里面又分成36组,每组有六类)
我是这样写的,应该就是怎么取出了问题

img

你的循环语句写错了,而且也不需要写循环,有用望采纳,下面是参考的代码:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

max_indices = np.argmax(arr, axis=1)

print(max_indices)

  • 以下回答由chatgpt基于相关博客总结生成:

    要正确实现使用np.argmax()函数找出每一行的最大值索引,首先需要确保输入的数组是二维的。如果数组是多维数组,需要将其展平为一维数组后再进行操作。

    以下是正确实现此功能的步骤:

    1. 导入NumPy库
    import numpy as np
    
    1. 创建一个二维数组,例如:
    new_df = np.array([[2, 3, 653, 4],
                       [5, 62, 943, 44]])
    
    1. 确保数组是二维的
    new_df = np.atleast_2d(new_df)
    
    1. 使用np.argmax()函数找出每一行的最大值索引
    max_indices = np.argmax(new_df, axis=1)
    
    1. 打印结果
    print(max_indices)
    

    请注意,如果输入的数组是多维的,需要先使用np.atleast_2d()函数将其转换为二维数组。这样做的目的是确保np.argmax()函数能够正确地找出每一行的最大值索引。

    希望以上解决方案能对您有所帮助。如果您有任何问题,请随时向我提问。