給定一個numpy
數組和一個__getitem__
類型的索引,是否有一種慣用的方法來獲取數組的相應切片,總是返回一個數組,而不是一個標量?numpy切片總會返回一個數組
有效索引的示例包括:int
,slice
,省略號或上述元組。
說我有這樣一個數組:
a = np.array([[1,2],[3,4]])
我正在尋找一個在所有情況下等效於a[whatever]
的操作,除非a[whatever]
返回一個標量(例如,a[1,1]
)。在這些情況下,我希望這種替代操作能夠返回單元素數組。
可能值得澄清的是,你想要一個一維向量代替一個標量,我認爲這是暗示的。 (因爲單元素數組可以有任意數量的維度)。在過去,我必須要求任何一張二維表*總是*返回一張二維表,在這種情況下,我在自己編寫的'table'類中使用了'numpy.atleast_2d',它鏡像了許多'array'方法。如果你能夠從一個numpy數組中獲得'atleast_ * D'行爲,它可能會破壞所有類型的東西。 – Paul 2011-05-05 18:53:04
我能想到的一個可能的用途是當你總是希望結果是一個視圖,以便修改它改變原來的。如果這是所期望的,'atleast_Nd'不夠好 - 可能需要將'int'索引轉換爲'slice'。 – kwatford 2011-05-05 19:03:10