亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取N維np數組中唯一數組元素的數量?

如何獲取N維np數組中唯一數組元素的數量?

RISEBY 2023-07-05 11:09:45
我有一個包含 str 值的 2D np 數組。我想獲得組成這個二維數組的唯一數組(行)的計數。這將是示例輸入:array([[A, B, C],       [A, B, C],       [C, E, F],       [F, J, K]])我希望能夠獲得每一行的唯一計數:[A, B, C] -> 2[C, E, F] -> 1[F, J, K] -> 1謝謝。
查看完整描述

1 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

axis=0對于列表列表,您可以通過使用選項(指定行)以及numpy.unique()函數和選項來獲取行數return_counts=True

>>> a = np.array([(1,2,3),(1,2,3),(3,4,5),(5,6,7)])

>>> np.unique(a, return_counts=True, axis=0)

(array([[1, 2, 3],

? ? ? ?[3, 4, 5],

? ? ? ?[5, 6, 7]]), array([2, 1, 1]))

第一個返回值是唯一行,第二個返回值是這些行的計數。如果沒有該return_counts=True選項,您將只能獲得第一個返回值。如果沒有該axis=0選項,整個數組將被展平以計算唯一元素的數量。axis=0指定應展平行(如果它們已經超過 1D),然后將其視為唯一值。


如果您可以使用元組而不是行列表,那么您可以numpy.unique()與 axis 選項一起使用。


這篇文章解釋了如何使用 numpy 數組的元組列表。


放在一起,它應該看起來像這樣:


>>> l = [(1,2,3),(1,2,3),(3,4,5),(5,6,7)]

>>> a = np.empty(len(l), dtype=object)

>>> a

array([None, None, None, None], dtype=object)

>>> a[:] = l

>>> a

array([(1, 2, 3), (1, 2, 3), (3, 4, 5), (5, 6, 7)], dtype=object)

>>> np.unique(a, return_counts=True)

(array([(1, 2, 3), (3, 4, 5), (5, 6, 7)], dtype=object), array([2, 1, 1]))


查看完整回答
反對 回復 2023-07-05
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號