回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有以下数组:</p>
<pre><code>a=[['A', 'B'],
['B', 'B'],
['B', 'C'],
['C', 'B'],
['B', 'A'],
['A', 'D'],
['D', 'D'],
['D', 'A'],
['A', 'B'],
['B', 'A'],
['A', 'D']]
</code></pre>
<p>我想做一个转移概率矩阵,这样我得到:</p>
^{pr2}$
<p>在图中,{{cd2>中,有多少个<cd2}被除数。我从使用计数器开始</p>
<pre><code>from collections import Counter
Counter(tuple(x) for x in l)
</code></pre>
<p>它将数组的元素正确计数为:</p>
<pre><code>Counter({('A', 'B'): 2,
('B', 'B'): 1,
('B', 'C'): 1,
('C', 'B'): 1,
('B', 'A'): 2,
('A', 'D'): 2,
('D', 'D'): 1,
('D', 'A'): 1})
</code></pre>
<p>所以矩阵应该是</p>
<p><code>[[0,2/5,0,2/5],[2/4,1/4,1/4,0],[0,1,0,0],[1/2,0,0,1/2]]</code></p>