numpy 对每一列进行遍历
时间: 2023-02-08 11:24:00 浏览: 124
可以使用 numpy 数组的 `nditer` 对数组的每一列进行遍历。示例如下:
``` python
import numpy as np
# 创建一个矩阵
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 遍历每一列
for col in np.nditer(arr, order='F'):
print(col)
```
在这里,`order='F'` 指定了遍历是按列顺序进行的('F' 指 FORTRAN 顺序,也就是列优先)。输出结果是:
```
1
4
7
2
5
8
3
6
9
```
也可以使用numpy的'axis'参数进行遍历
``` python
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
for col in np.apply_along_axis(lambda x: x, 0, arr):
print(col)
```
输出结果也是:
```
[1 4 7]
[2 5 8]
[3 6 9]
```
相关问题
numpy 对每一列进行遍历,按列输出,每列一个array
可以使用 numpy 的 "ndarray.T" 属性来转置数组,然后使用 for 循环遍历转置后的数组的每一行。如下所示:
```
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
for column in a.T:
print(column)
```
输出结果为:
```
[1 4 7]
[2 5 8]
[3 6 9]
```
讲解一下 上面代码中 .T 的含义,
`a.T` 代表转置后的数组,
`a.T[i]` 代表第i列
而 for column in a.T 相当于 for column in a.T[0],a.T[1],a.T[2],
即依次打印出每一列的结果
numpy 对每一列进行便利
在 numpy 中,可以使用 `numpy.nditer` 对数组的每一列进行遍历。
示例代码如下:
```python
import numpy as np
# 创建 2x3 的数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 对每一列遍历
for col in np.nditer(arr, flags=['external_loop'], order='F'):
print(col)
```
在这段代码中,`flags` 参数设置为 `'external_loop'` 表示对每一列进行遍历,`order` 参数设置为 `'F'` 表示以列序遍历。
注意,如果输出 col 是循环遍历列中的每个元素,而不是整列
阅读全文