NumPy遍历数组最常用的4种方法

NumPy提供了多种遍历数组的方法,主要有以下几种:

迭代器遍历

使用NumPy的nditer函数可以返回一个用于迭代数组元素的迭代器对象。可以通过设置order参数来指定迭代的顺序,例如order='C'表示按照C语言的行优先顺序进行迭代,order='F'表示按照Fortran语言的列优先顺序进行迭代。示例代码如下:

import numpy as np

a = np.array([[1, 2], [3, 4]])

for x in np.nditer(a):
    print(x)

输出结果为:


1
2
3
4

数组展开遍历

可以使用NumPy的flat属性或flatten函数将多维数组展开为一维数组,并进行遍历。flat属性返回一个用于遍历数组元素的迭代器对象,flatten函数返回一个展开后的一维数组。示例代码如下:


import numpy as np

a = np.array([[1, 2], [3, 4]])

for x in a.flat:
    print(x)

b = a.flatten()
for x in b:
    print(x)

输出结果为:


1
2
3
4
1
2
3
4

行遍历和列遍历

使用NumPy的ndenumerate函数可以同时遍历数组的每个元素及其对应的下标,返回一个元素为下标和元素值的元组。ndenumerate函数可以设置order参数来指定遍历顺序,例如order='C'表示按照C语言的行优先顺序进行遍历,order='F'表示按照Fortran语言的列优先顺序进行遍历。示例代码如下:


import numpy as np

a = np.array([[1, 2], [3, 4]])

for index, value in np.ndenumerate(a):
    print(index, value)

for index, value in np.ndenumerate(a, order='F'):
    print(index, value)

输出结果为:


(0, 0) 1
(0, 1) 2
(1, 0) 3
(1, 1) 4
(0, 0) 1
(1, 0) 3
(0, 1) 2
(1, 1) 4

列表推导式

使用列表推导式可以遍历数组中的每个元素,并根据条件筛选出需要的元素。示例代码如下:


import numpy as np

a = np.array([[1, 2], [3, 4]])

b = [x for x in a.flat if x > 2]

print(b)

输出结果为:

[3, 4]
以上就是NumPy中常用的数组遍历方法。

本文链接:https://my.lmcjl.com/post/19552.html

展开阅读全文

4 评论

留下您的评论.