首頁 >後端開發 >Python教學 >如何將具有群組計數的欄位新增至 Pandas 中的分組資料框?

如何將具有群組計數的欄位新增至 Pandas 中的分組資料框?

Susan Sarandon
Susan Sarandon原創
2024-10-19 12:21:29486瀏覽

How to Add a Column with Group Counts to a Grouped Dataframe in Pandas?

如何在 Pandas 中向分組 Dataframe 添加列

在資料分析中,經常需要將資料分組並進行計算每組。 Pandas 透過其 groupby 函數提供了一種便捷的方法來做到這一點。一個常見的任務是計算每個組中某一列的值,並將包含這些計數的列加入到資料幀中。

考慮資料幀df:

<code class="python">df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})</code>

要計算輸入每個c,我們可以在分組資料幀上使用value_counts 函數:

<code class="python">g = df.groupby('c')['type'].value_counts().reset_index(name='t')</code>

這將建立一個包含群組計數的新資料幀g。要為g 添加包含每個組大小的列,我們可以使用轉換函數:

<code class="python">g['size'] = df.groupby('c')['type'].transform('size')</code>

transform 將函數應用於原始資料幀中的每個組,並傳回一個系列,其索引與原始數據框。在這種情況下,我們使用 size 函數來計算每個組中的元素數量,並將其指派給新的列大小。產生的資料框 g 現在如下所示:

<code class="python">   c type  t  size
0  1    m  1     3
1  1    n  1     3
2  1    o  1     3
3  2    m  2     4
4  2    n  2     4</code>

這示範了一種根據 groupby 聚合的結果將新欄位新增至分組資料框的簡單方法。

以上是如何將具有群組計數的欄位新增至 Pandas 中的分組資料框?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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