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

Qyouu
TA貢獻1786條經驗 獲得超11個贊
你可以做:
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}
添加回答
舉報
0/150
提交
取消