假設我有以下數組。Numpy:使用不同索引數組多次選擇行
l = np.asarray([1,3,5,7])
Out[552]: array([1, 3, 5, 7])
我可以使用索引陣列np.asarray([[0,1],[1,2]])
兩次選擇行:
l[np.asarray([[0,1],[1,2]])]
Out[553]:
array([[1, 3],
[3, 5]])
如果指數陣列對各行不同長度的它不工作:
l[np.asarray([[1,3],[1,2,3]])]
Traceback (most recent call last):
File "<ipython-input-555-3ec2ab141cd4>", line 1, in <module>
l[np.asarray([[1,3],[1,2,3]])]
IndexError: arrays used as indices must be of integer (or boolean) type
我本例所需的輸出爲:
array([[3, 7],
[3, 5, 7]])
有人可以幫忙嗎?
numpy的不支持破爛(非矩形陣列),所以你可能要考慮,你可以用它來存儲您的輸出(如表)的其它數據的。 – DSM