我在這里有這個 2D numpy 陣列:
arr = np.array([[1,2],
[2,2],
[3,2],
[4,2],
[5,3]])
我想洗掉與索引 1 處的前一個索引對應的所有重復項,并獲得如下輸出:
np.array([[1,2],
[5,3]])
但是,當我嘗試我的代碼時,它會出錯。這是我的代碼:
for x in range(0, len(arr)):
if arr[x][1] == arr[x-1][1]:
arr = np.delete(arr, x, 0)
>>> IndexError: index 3 is out of bounds for axis 0 with size 2
uj5u.com熱心網友回復:
np.unique您可以使用查找第二列中唯一值的第一次出現的索引,而不是嘗試從陣列中洗掉,并使用它來提取這些值:
import numpy as np
arr = np.array([[1,2],
[2,2],
[3,2],
[4,2],
[5,3]])
u, i = np.unique(arr[:,1], return_index=True)
arr[i]
# array([[1, 2],
# [5, 3]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/497778.html
上一篇:根據名稱排列檔案
