如何在Pandas中向分組資料框中添加列
在資料分析中,經常需要將資料分組並進行計算每組。 Pandas 透過其 groupby 函數提供了一種便捷的方法來做到這一點。一個常見的任務是計算每個組中某一列的值,並將包含這些計數的列加入到資料幀中。
考慮資料幀df:
df = pd.DataFrame({'c':[1,1,1,2,2,2,2],'type':['m','n','o','m','m','n','n']})
要計算每個c 的type 值,我們可以在在分組資料幀上使用value_counts 函數:
g = df.groupby('c')['type'].value_counts().reset_index(name='t')
這將建立一個包含群組計數的新資料幀g 。要為 g 新增一列,其中包含每個群組的大小,我們可以使用變換函數:
g['size'] = df.groupby('c')['type'].transform('size')
transform 將函數應用於原始資料幀中的每個群組,並傳回一個其索引與原始資料幀對齊的系列。在本例中,我們使用 size 函數來計算每個群組中的元素數量,並將其指派給新的列大小。產生的資料幀 g 現在看起來像這樣:
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
這示範了一種根據 groupby 聚合的結果向分組資料幀添加新列的簡單方法。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3