![](/img/trans.png)
[英]Numpy double-slice assignment with integer indexing followed by boolean indexing
[英]assignment followed by boolean operator
我遇到過這樣的語句,其中賦值(在本例中為 numpy 數據數組的第一列)后跟布爾運算符。 比如這個。
indices = data[:,1] == 1
如何在偽代碼中解釋這里發生的事情,以及從該語句生成什么類型的輸出?
在這種情況下,接下來是這樣的聲明:
jan_data = data[indices]
data[:,1] == 1
是一個將計算為一個值的表達式。 該值將分配給indices
。 使用括號,您可以將其視為indices = (data[:,1] == 1)
。 它不是“后跟布爾運算符的賦值”。 它是一個賦值,其右側是一個包含布爾運算符的表達式。 您可以分配a == b
的結果,就像分配a + b
的結果一樣。
類型可以定義這種比較返回什么樣的值。 在這種情況下,我懷疑data
是一個 numpy 數組,比較 numpy 數組會為您提供另一個布爾值的 numpy 數組,條件為真時為 True,條件為假時為 False。 因此,如果data[:,1]
類似於[1, 2, 3, 2, 1]
,則data[:,1] == 1
將是[True, False, False, False, True]
,並且這是將分配給indices
的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.