Python jupyter 中的布尔数组混淆 IDE
Python boolean arrays confusion in jupyter IDE
我是布尔数组的新手,发现这些语句令人困惑
import numpy as np
a = np.arange(5)
数组a的输出是:array([0, 1, 2, 3, 4])
但是当我写下这个
b = a[True, True, False, False, False]
并使用
打印数组 b
print(b)
输出是:
[]
据我了解,我想将一些元素从数组a转移到数组b,但为什么b是空的?
这段代码发生了什么?
尝试嵌套括号:
a = np.arange(5)
b = a[[True, True, False, False, False]]
print(b)
输出:
[0 1]
您可以使用 numpy
中的 np.where(),如下所示:
import numpy as np
a = np.arange(5,10)
print(a)
b = a[np.where([True, True, False, False, False])]
print(b)
输出:
[5 6 7 8 9]
[5, 6]
我是布尔数组的新手,发现这些语句令人困惑
import numpy as np
a = np.arange(5)
数组a的输出是:array([0, 1, 2, 3, 4]) 但是当我写下这个
b = a[True, True, False, False, False]
并使用
打印数组 bprint(b)
输出是:
[]
据我了解,我想将一些元素从数组a转移到数组b,但为什么b是空的? 这段代码发生了什么?
尝试嵌套括号:
a = np.arange(5)
b = a[[True, True, False, False, False]]
print(b)
输出:
[0 1]
您可以使用 numpy
中的 np.where(),如下所示:
import numpy as np
a = np.arange(5,10)
print(a)
b = a[np.where([True, True, False, False, False])]
print(b)
输出:
[5 6 7 8 9]
[5, 6]