假設我們有一個如下所示的 Dataframe:
df = pd.DataFrame({'participant_id' : [1608, 1608, 2089, 213, 1608, 1887, 2089, 4544, 6866, 2020, 2020],
'organizer_id' : [1772, 1772, 1772, 1790, 1790, 1790, 1791, 1791, 1772, 1799, 1799]})
如果我們列印上面的內容,我們會得到:
print(df)
participant_id organizer_id
0 1608 1772
1 1608 1772
2 2089 1772
3 213 1790
4 1608 1790
5 1887 1790
6 2089 1791
7 4544 1791
8 6866 1772
9 2020 1799
10 2020 1799
了解每個參與者以共現矩陣的形式參與組織者任務的次數是很有價值的,該矩陣如下所示:
1772 1790 1791 1799
1608 2. 1. 0. 0
2089 1. 0. 1. 0
213 0. 1. 0. 0
1887 0. 1. 0. 0
4544 0. 0. 1. 0
6866 1. 0. 0. 0
2020 0. 0. 0. 2
如何從 Dataframe df 在 python 中構建這樣一個矩陣?
uj5u.com熱心網友回復:
df.groupby(by=["participant_id", "organizer_id"]).size().unstack('organizer_id').fillna(0)
organizer_id 1772 1790 1791 1799
participant_id
213 0.0 1.0 0.0 0.0
1608 2.0 1.0 0.0 0.0
1887 0.0 1.0 0.0 0.0
2020 0.0 0.0 0.0 2.0
2089 1.0 0.0 1.0 0.0
4544 0.0 0.0 1.0 0.0
6866 1.0 0.0 0.0 0.0
uj5u.com熱心網友回復:
這是與如何從熊貓兩列創建共現矩陣的副本?
使用pd.crosstab(df['participant_id'], df['organizer_id'])讓您的輸出矩陣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/348995.html
