我會如何去比較兩個不同的numpy數組來創建第三個數組?我想寫一個循環,通過兩個數組進入並打印新的數組「C」,只有不在a或bNumpy Array Subtraction
例如說我有
a = [1,2,3,4]
b = [1,2,3,4,5,6,7,8,9]
我希望它的值打印:
c = [5,6,7,8,9]
我會如何去比較兩個不同的numpy數組來創建第三個數組?我想寫一個循環,通過兩個數組進入並打印新的數組「C」,只有不在a或bNumpy Array Subtraction
例如說我有
a = [1,2,3,4]
b = [1,2,3,4,5,6,7,8,9]
我希望它的值打印:
c = [5,6,7,8,9]
您可以在Numpy中使用設置差異操作:numpy.setdiff1d
。 從Numpy docs:
>>> a = np.array([1, 2, 3, 2, 4, 1])
>>> b = np.array([3, 4, 5, 6])
>>> np.setdiff1d(a, b)
array([1, 2])
可能值得明確指出(儘管來自docs的示例已經精心製作,可以隱式顯示)「setdiff1d」不關心數組中的重複。歡迎來到堆棧溢出! –
非常感謝! – cryptofish
OP指定哪個數組應該從另一個數組中減去。看起來他想要任何數組中的所有唯一值:'a = np.array([1,2,3,4,1,1]) b = np.array([3,4,5,6]) c = np.concatenate((np.setdiff1d(a,b),np.setdiff1d(b,a)))' – jack6e
C =列表(集合(B).difference(設定的(a))) – suvy
那些是*列表*。你真的在用'numpy.ndarray'嗎? –