python,对nm的2维数组arr进行归一化,然后取其中的第0和第i行,相乘得到m*m的二维数组
时间: 2024-03-28 22:42:20 浏览: 114
你可以使用NumPy库中的函数来完成这个任务。以下是一个示例代码:
```python
import numpy as np
# 构造一个2维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 对数组进行归一化
arr_norm = (arr - arr.min()) / (arr.max() - arr.min())
# 取第0和第i行,并构建新的2维数组
i = 2
new_arr = np.array([arr_norm[0], arr_norm[i]])
# 相乘得到m*m的二维数组
new_arr_2 = np.dot(new_arr.T, new_arr)
print(new_arr_2)
```
在这个示例中,我们首先构造了一个2维数组`arr`,然后使用归一化公式将其归一化为`arr_norm`。接着,我们使用索引操作符`[]`来获取第0和第i行,将它们组合成一个新的2维数组`new_arr`。最后,我们使用NumPy的dot函数计算`new_arr`的转置矩阵与自身的乘积,得到一个m*m的矩阵`new_arr_2`。最终,我们打印出`new_arr_2`的值。
需要注意的是,在使用本代码时,你需要将`i`替换为你想要获取的行的索引。如果你需要改变矩阵的大小,可以使用NumPy库中的reshape方法进行操作。
相关问题
python,对2维数组arr进行归一化,然后取其中的第0和第i行,构建新的二维数组
你可以使用NumPy库中的函数来完成这个任务。以下是一个示例代码:
```python
import numpy as np
# 构造一个2维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 对数组进行归一化
arr_norm = (arr - arr.min()) / (arr.max() - arr.min())
# 取第0和第i行,构建新的二维数组
i = 2
new_arr = np.array([arr_norm[0], arr_norm[i]])
print(new_arr)
```
在这个示例中,我们首先构造了一个2维数组`arr`,然后使用归一化公式将其归一化为`arr_norm`。接着,我们使用索引操作符`[]`来获取第0和第i行,将它们组合成一个新的2维数组`new_arr`。最后,我们打印出`new_arr`的值。
需要注意的是,在使用本代码时,你需要将`i`替换为你想要获取的行的索引。
python,对n*m的2维数组arr进行归一化,然后取其中的第0和第i行,构建新的m*m的二维数组
你可以使用NumPy库中的函数来完成这个任务。以下是一个示例代码:
```python
import numpy as np
# 构造一个2维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 对数组进行归一化
arr_norm = (arr - arr.min()) / (arr.max() - arr.min())
# 取第0和第i行,并构建新的2维数组
i = 2
new_arr = np.array([arr_norm[0], arr_norm[i]])
# 将新的2维数组转换为m*m的形式
m = len(new_arr[0])
new_arr_2 = np.zeros((m, m))
new_arr_2[0] = new_arr[0]
new_arr_2[1] = new_arr[1]
print(new_arr_2)
```
在这个示例中,我们首先构造了一个2维数组`arr`,然后使用归一化公式将其归一化为`arr_norm`。接着,我们使用索引操作符`[]`来获取第0和第i行,将它们组合成一个新的2维数组`new_arr`。最后,我们创建一个m*m的全0矩阵`new_arr_2`,并将新的2维数组`new_arr`中的值复制到其中的第0和第1行。最终,我们打印出`new_arr_2`的值。
需要注意的是,在使用本代码时,你需要将`i`替换为你想要获取的行的索引,以及将矩阵的大小`m`替换为你需要的大小。
阅读全文