擅长:python、mysql、java
<p>这里是另一种方法,使用numpy广播创建一个矩阵,该矩阵是通过将{<cd1>}中的每个值与每个其他值进行比较获得的,然后从该矩阵创建一个新的数据帧,其中{<cd2>}和{<cd3>}设置为{<cd4>},并沿着{<cd7>}和{<cd8>}对{<cd9>}进行计数段塞的横截面:</p>
<pre><code>a = df['user_id'].values
i = list(df['page_view_page_slug'])
pd.DataFrame(a[:, None] == a, index=i, columns=i)\
.sum(level=0).sum(level=0, axis=1).astype(int)
</code></pre>
<hr/>
<pre><code> slug1 slug2 slug3 slug4 slug5
slug1 2 2 2 1 1
slug2 2 2 2 1 1
slug3 2 2 2 1 1
slug4 1 1 1 1 0
slug5 1 1 1 0 1
</code></pre>