1 回答

TA貢獻2021條經驗 獲得超8個贊
這是一種潛在的方法,使用, 在和merge上自我加入。然后使用, 過濾掉兩邊用戶相等的地方,最后用于輸出。dateactionquerypivot_table
df_corr = (df.merge(df, on=['date', 'action'])
.query('user_x != user_y')
.pivot_table(index='user_x', columns='user_y', aggfunc='size'))
[出去]
user_y user_1 user_2 user_3
user_x
user_1 NaN 2.0 NaN
user_2 2.0 NaN 1.0
user_3 NaN 1.0 NaN
如果僅需要顯示相關矩陣的下三角形,則可以NaN使用以下方法輸出上半部分:
mask = np.triu_indices_from(df_corr)
df_corr.values[mask] = np.nan
[出去]
user_y user_1 user_2 user_3
user_x
user_1 NaN NaN NaN
user_2 2.0 NaN NaN
user_3 NaN 1.0 NaN
添加回答
舉報