我有numpy的陣列下面:獲得在不等的行長度的numpy的陣列所需的元件,而不使用用於循環
array([['apple','banana','orange'],
['car','bike','train','ship','plane','scooter'],
['red','purple']], dtype=object)
陣列中的各行長度不相等的,我想獲得的最後一個元素每行。我可以通過運行一個for循環來獲得這個,但我想可能有更直接的方法來做到這一點。我最接近的(錯誤的解決方案)是arr [:] [ - 1],它給了我最後一行元素和arr [np.arange(len(arr)), - 1],它引發了一個'IndexError'錯誤。
我所需的輸出是:
array([['orange','scooter','purple']], dtype=object)
我會明白任何指導。謝謝。
這個解決方案工作。我的原始數據是熊貓DF和我使用.str操作,但這種解決方案並沒有打動我。謝謝。熊貓本身就是這樣做的: arr ['0'] = arr ['0']。str.split()。str [-1] –
'pandas'永遠不會失敗! ;) – Divakar
@Divakar,只在那些比NumPy慢的情況下...;) – MaxU