首頁 >後端開發 >Python教學 >如何有效計算 Pandas DataFrame 中組內術語的出現次數?

如何有效計算 Pandas DataFrame 中組內術語的出現次數?

Linda Hamilton
Linda Hamilton原創
2024-12-12 17:11:14626瀏覽

How to Efficiently Count Term Occurrences within Groups in a Pandas DataFrame?

按Pandas 資料框中的術語計數進行分組

問題:

問題:

給定🎜>問題:

給定🎜>問題:
df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)

給定🎜>問題:

給定一個資料框以下列:id、group 和term。目標是確定每個術語在 id 和 group 的每個唯一組合中出現的次數。

解決方案:

df = pd.DataFrame(dict(id=np.random.choice(100, 1000000),
                       group=np.random.choice(20, 1000000),
                       term=np.random.choice(10, 1000000)))
要避免使用循環,請使用groupby 和Pandas 中的size 函數:

groupby 函數按指定列(id、group 和term),而size 函數計算每個組合的出現次數。 unstack 函數會產生一個更具視覺吸引力的表格,其中計數以矩陣形式排列。 結果是一個具有多重索引列的表格,其中前兩個層級代表 id 和 group 的組合,第三個層級代表 id 和 group 的組合對應於該術語。表中的每個儲存格顯示特定術語在對應 ID 和群組中出現的次數。 時間:對於大型資料集(例如1,000,000 行) ,效能非常出色:使用上述方法,使用上述方法約為1秒。

以上是如何有效計算 Pandas DataFrame 中組內術語的出現次數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn