Python Numpy数组更新命令说明
该操作在技术上如何命名,以及它允许哪些其他功能:Python Numpy数组更新命令说明,python,arrays,numpy,Python,Arrays,Numpy,该操作在技术上如何命名,以及它允许哪些其他功能: Z[1:-1,1:-1][birth | survive]=1。其中Z是4x4数组,而birth和survive是相同大小的布尔数组。我了解此代码的作用,但想知道此操作是如何调用的,以及我还可以用它做些什么(谈论后一部分[birth | survive])。管道|。因此,birth | survive相当于np.bitwise_或(birth,survive)。大概birth和survive是布尔数组,因此输出是一个布尔数组,具有简单的或行为:
Z[1:-1,1:-1][birth | survive]=1
。其中Z
是4x4
数组,而birth和survive是相同大小的布尔数组。我了解此代码的作用,但想知道此操作是如何调用的,以及我还可以用它做些什么(谈论后一部分[birth | survive]
)。管道|
。因此,birth | survive
相当于np.bitwise_或(birth,survive)
。大概birth
和survive
是布尔数组,因此输出是一个布尔数组,具有简单的或行为:
a = np.array([True, True, False, False])
b = np.array([True, False, False, True])
a|b
# array([ True, True, False, True], dtype=bool)
对于整数,将考虑每一位,并返回一个整数数组,其中二进制表示法中的每一位都已或。对于其行为有更好的解释,下面有一些示例
一旦您从birth | survive
创建了布尔数组,您就可以使用它对Z
数组进行一次转换。最简单的是,这可以通过以下方式显示:
a = np.array([1,2,3])
b = np.array([True, False, True])
a[b] # the elements of a where b is True
# array([1, 3])
由于它位于赋值的左侧,python将把值1
赋值给Z
中的每个点,其中birth
或survive
为True:
a[b] = 99
a
# array([99, 2, 99])
在左侧使用双索引时,请确保第一个索引生成的是视图
,而不是副本
。布尔索引只有在紧靠=
之前时才起作用。