我正在做numpy,当我在我的编辑器上尝试numpy方法时,我注意到了一个不正常的情况。
首先,我创建了一个numpy数组(nd.array),如下所示:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
在那之后,我试着从数组中得到偶数,我写了这行代码:
even_numbers_in_array = np.where(arr%2 == 0)
我想它应该返回一个包含偶数的元组,但它返回的结果正好相反:
In [33]: even_numbers_in_array
Out[33]: (array([ 1, 3, 5, 7, 9, 11], dtype=int64),)
在这个结果之后,我感到震惊,因为即使没有在数组中,也有9
,10
,11
的值。有人能给我解释一下这个奇怪的情况吗?
谢谢
我使用spyder(anaconda3)编辑器和w11操作系统
1条答案
按热度按时间bvn4nwqk1#
您不需要
np.where
:注意:
np.where
返回索引而不是数字本身。您会感到困惑,因为您使用了一个特定的数组
[1, 2, 3, 4, 5, 6, 7, 8]
。请尝试使用另一个系列: