按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中文網其他相關文章!