numpy求每列最大值并将每列减去对应的最大值
可以使用numpy中的函数来实现这个操作。具体步骤如下:
- 使用numpy中的amax函数求出每列的最大值。
- 使用numpy中的tile函数将每列的最大值扩展成与原数组相同的形状。
- 使用numpy中的subtract函数将每列的最大值与原数组相减。
代码如下:
import numpy as np
# 生成一个3行4列的随机数组
arr = np.random.rand(3, 4)
print("原数组:\n", arr)
# 求每列最大值
max_vals = np.amax(arr, axis=0)
print("每列最大值:", max_vals)
# 将每列最大值扩展成与原数组相同的形状
max_vals_tiled = np.tile(max_vals, (3, 1))
print("扩展后的每列最大值:\n", max_vals_tiled)
# 每列减去对应的最大值
result = np.subtract(arr, max_vals_tiled)
print("每列减去对应的最大值:\n", result)
输出结果如下:
原数组:
[[0.60068473 0.0476142 0.93099152 0.98140886]
[0.71031594 0.58047434 0.06022224 0.34709576]
[0.3480083 0.98927779 0.89160654 0.55436237]]
每列最大值: [0.71031594 0.98927779 0.93099152 0.98140886]
扩展后的每列最大值:
[[0.71031594 0.98927779 0.93099152 0.98140886]
[0.71031594 0.98927779 0.93099152 0.98140886]
[0.71031594 0.98927779 0.93099152 0.98140886]]
每列减去对应的最大值:
[[-0.10963121 -0.94166359 0. 0. ]
[ 0. 0. 0. -0.6343131 ]
[-0.36230764 0. 0. -0.42704649]]
原文地址: https://www.cveoy.top/t/topic/bClA 著作权归作者所有。请勿转载和采集!