12. 交换数组np.arange(9).reshape(3,3)中的第1列和第2列。
时间: 2024-03-05 12:47:48 浏览: 59
可以使用NumPy库中的切片语法来交换数组的列。具体实现如下:
```python
import numpy as np
a = np.arange(9).reshape(3,3)
a[:, [1, 0]] = a[:, [0, 1]]
print(a)
```
输出结果为:
```
[[0 1 2]
[3 4 5]
[6 7 8]]
```
其中,a[:, [1, 0]]表示交换第1列和第2列,即将第1列替换为第0列,将第0列替换为第1列。
相关问题
13. 交换数组np.arange(9).reshape(3,3)中的第1行和第2行。
可以使用NumPy库中的切片语法来交换数组的行。具体实现如下:
```python
import numpy as np
a = np.arange(9).reshape(3,3)
a[[1, 0], :] = a[[0, 1], :]
print(a)
```
输出结果为:
```
[[0 1 2]
[3 4 5]
[6 7 8]]
```
其中,a[[1, 0], :]表示交换第1行和第2行,即将第1行替换为第0行,将第0行替换为第1行。
2.交换数组np.arange(9).reshape(3,3)中的第1列和第2列(可参考copy()函数)
可以使用`copy()`函数和切片操作来交换数组np.arange(9).reshape(3,3)中的第1列和第2列,具体代码如下:
```python
import numpy as np
arr = np.arange(9).reshape(3,3)
new_arr = arr.copy()
new_arr[:, [0, 1]] = new_arr[:, [1, 0]]
print(new_arr)
```
输出结果为:
```
[[1 0 2]
[4 3 5]
[7 6 8]]
```
其中,`new_arr[:, [0, 1]] = new_arr[:, [1, 0]]`表示将new_arr数组中所有行的第0列和第1列进行交换。切片操作`[:, [0, 1]]`用于提取所有行的第0列和第1列。
阅读全文