首頁 > 後端開發 > Python教學 > Pandas GroupBy 如何計算統計數據並包含行數以進行資料分析?

Pandas GroupBy 如何計算統計數據並包含行數以進行資料分析?

Linda Hamilton
發布: 2025-01-03 00:54:39
原創
362 人瀏覽過

How Can Pandas GroupBy Calculate Statistics and Include Row Counts for Data Analysis?

使用Pandas GroupBy 取得每個組別的統計數據

在進行資料分析時,通常需要匯總資料併計算觀察組的統計數據併計算觀察組的統計數據。 Pandas 的 GroupBy 函數提供了一種方便的方法來執行此操作。

要計算群組統計數據,只需在 DataFrame 上使用 .groupby() 方法並指定要分組的欄位即可。然後,您可以使用 .agg() 方法聚合每個群組內的資料。

例如,以下程式碼以「col1」和「col2」列將資料分組並計算平均值:

df['col1', 'col2'].groupby(['col1', 'col2']).mean()
登入後複製

這將傳回一個包含群組統計資訊的DataFrame,類似於:

      col3  col4  col5  col6
col1 col2              
A     B    -0.3725  -0.810   0.0325  0.5425
C     D    -0.4766  -0.110   1.3467 -0.6833
E     F     0.4550   0.475  -1.0650  0.0300
G     H     1.4800  -0.630   0.6500  0.1700
登入後複製

包含行計數

將行計數加入組別統計資料非常簡單。您可以使用 .size() 方法來計算每個群組中的行數。例如:

df.groupby(['col1', 'col2']).size()
登入後複製

這將傳回一個包含行數的系列,然後您可以將其加入DataFrame 中:

df.groupby(['col1', 'col2']).size().reset_index(name='counts')
登入後複製

包含多個統計資料

除了平均值之外,您還可以使用.agg() 方法計算其他統計數據,例如中位數、最小值和最大值。例如,以下程式碼計算「col4」列的平均值、中位數和最小值:

df.groupby(['col1', 'col2']).agg({'col4': ['mean', 'median', 'min']})
登入後複製

這將傳回包含群組統計資訊的DataFrame,類似於:

            col4                  
          mean median  min
col1 col2                   
A    B  -0.3725 -0.810  -1.32
C    D  -0.4766 -0.110  -1.65
E    F   0.4550  0.475  -0.47
G    H   1.4800 -0.630  -0.63
登入後複製

其他注意事項

  • 如果您希望按多列分組,在.groupby()方法中使用列表。
  • 缺失值可能會影響組別計算。 Pandas 會在計算平均值和中位數等過程中排除缺失值。
  • 處理大型資料集時,請考慮使用帶有 chunksize 參數的 .agg() 方法來提高效能。

以上是Pandas GroupBy 如何計算統計數據並包含行數以進行資料分析?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板