我有一個(gè)矩陣列表,例如一個(gè) numpy 數(shù)組列表:list = [np.array([[0,1],[1,1]]),
np.array([[1,0],[0,0]]),
np.array([[0,1],[1,1]])]我想計(jì)算每個(gè)矩陣的出現(xiàn)次數(shù)。因此,理想的輸出類似于:np.array([[0,1],[1,1]]): 2
np.array([[1,0],[0,0]]): 1我可以想象使用 numpy 或 pandas 可以實(shí)現(xiàn)這一點(diǎn)。由于我需要使用矩陣進(jìn)行算術(shù)運(yùn)算,因此我正在尋找一種避免展平矩陣的解決方案。我知道 np.unique 能夠計(jì)算列表中平面數(shù)組的出現(xiàn)次數(shù)。
1 回答

Qyouu
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
你可以做:
pd.Series(my_list).astype(str).value_counts()
[[0 1]\n [1 1]] 2
[[1 0]\n [0 0]] 1
dtype: int64
或者:
from collections import defaultdict
d = defaultdict(int)
for arr in my_list:
d[str(arr)] += 1
d = dict(d)
print(d)
{'[[0 1]\n [1 1]]': 2, '[[1 0]\n [0 0]]': 1}
添加回答
舉報(bào)
0/150
提交
取消