在numpy的if语句中与i进行迭代

时间:2020-09-09 16:25:22

标签: python numpy

我有一个while循环,它里面是一个for循环,里面是一个if语句,用于检查条件是否满足。当我尝试遍历xs数据集向量时出现错误,但我不知道如何使其兼容,并且我认为您可以将“ i”用作数组中的索引。我究竟做错了什么?这是使用numpy。

init

1 个答案:

答案 0 :(得分:0)

创建一个列表并对其进行迭代:

In [3]: x = ['a','b','c']
In [4]: for i in x:
   ...:     print(i)
   ...: 
   ...: 
a
b
c

请注意,它显示的是列表中的元素,而不是索引(0,1,...)。

与数组相同:

In [5]: x = np.array(x)
In [6]: x
Out[6]: array(['a', 'b', 'c'], dtype='<U1')
In [7]: for i in x:
   ...:     print(i)
   ...: 
   ...: 
a
b
c

尝试x[i]是错误的。

或者如果x是一个2d数组,我会得到行:

In [8]: x = np.array([[1,10,11],[12,0,3]])
In [9]: for i in x:
   ...:     print(i)
   ...: 
[ 1 10 11]
[12  0  3]

要获取索引,我必须迭代range或类似[0,1,2]的列表:

In [10]: for i in range(3):
    ...:     print(i, x[:,i])
    ...: 
    ...: 
0 [ 1 12]
1 [10  0]
2 [11  3]