除了for循环,Numpy 还提供另外一种更为优雅的遍历方法。

    • apply_along_axis(func1d, axis, arr) Apply a function to 1-D slices along the given axis.

    【例】

    1. import numpy as np
    2. x = np.array([[11, 12, 13, 14, 15],
    3. [16, 17, 18, 19, 20],
    4. [21, 22, 23, 24, 25],
    5. [26, 27, 28, 29, 30],
    6. [31, 32, 33, 34, 35]])
    7. y = np.apply_along_axis(np.sum, 0, x)
    8. print(y) # [105 110 115 120 125]
    9. y = np.apply_along_axis(np.sum, 1, x)
    10. print(y) # [ 65 90 115 140 165]
    11. y = np.apply_along_axis(np.mean, 0, x)
    12. print(y) # [21. 22. 23. 24. 25.]
    13. y = np.apply_along_axis(np.mean, 1, x)
    14. print(y) # [13. 18. 23. 28. 33.]
    15. def my_func(x):
    16. return (x[0] + x[-1]) * 0.5
    17. y = np.apply_along_axis(my_func, 0, x)
    18. print(y) # [21. 22. 23. 24. 25.]
    19. y = np.apply_along_axis(my_func, 1, x)
    20. print(y) # [13. 18. 23. 28. 33.]