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