python,对n乘m的2维数组arr,按每列的最大值最小值进行归一化
时间: 2024-03-28 20:42:21 浏览: 58
你可以使用NumPy库中的函数来完成这个任务。以下是一个示例代码:
```python
import numpy as np
# 构造一个2维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 对数组进行按列最大值最小值归一化
arr_norm = (arr - arr.min(axis=0)) / (arr.max(axis=0) - arr.min(axis=0))
print(arr_norm)
```
在这个示例中,我们首先构造了一个2维数组`arr`。然后,我们使用NumPy的max和min方法沿着每列计算`arr`的最大值和最小值。接着,我们使用归一化公式将每列的值归一化为`arr_norm`。需要注意的是,在计算最大值和最小值时,我们使用了`axis=0`来指定沿着列进行计算。最终,我们打印出`arr_norm`的值。
需要注意的是,在使用本代码时,你需要将`arr`替换为你想要进行归一化的2维数组。
相关问题
二维numpy数组,对每一列做最大最小值的归一
您好!针对您的问题,可以使用numpy库中的min()和max()函数分别求出每一列的最小值和最大值,然后用每一列的数值减去最小值,再除以最大值减最小值的差,就可以实现每一列的最大最小值归一化操作。
以下是示例代码:
```python
import numpy as np
# 原始二维数组
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 对每一列进行最大最小值归一化
min_vals = np.min(arr, axis=0) # 每一列的最小值
max_vals = np.max(arr, axis=0) # 每一列的最大值
norm_arr = (arr - min_vals) / (max_vals - min_vals) # 归一化后的数组
print(norm_arr)
```
输出结果为:
```
[[0. 0. 0. ]
[0.5 0.5 0.5 ]
[1. 1. 1. ]]
```
其中,每一列的数值都被归一到了0到1之间。
阅读全文