Pandas DataFrame GroupBy 多列進行值計數
在使用Pandas 進行DataFrame 操作時,按多列對資料進行分組可以提供有價值的見解。本文示範如何在兩列分組時對觀察值進行計數,以及確定每個分組的最高計數。
給定一個具有多列的 DataFrame,可以將「groupby」函數套用於對資料進行分組基於特定列。在這裡,我們有一個名為「df」的 DataFrame,有五列:「col1」、「col2」、「col3」、「col4」和「col5」。
import pandas as pd
df = pd.DataFrame([
[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3],
list('AAABBBBABCBDDD'),
[1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8],
['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']
按行組計數
來統計每個行組中的觀察數,對所需列使用'groupby' 函數,然後套用'size' 函數。
result = df.groupby(['col5', 'col2']).size()
這將產生一個DataFrame,其中分組的列作為索引,大小作為值。
print(result)
確定最高計數
要確定每個「col2」值的最大計數,請對「col2 」使用「groupby」函數,然後對分組資料套用「max」函數.
result = df.groupby(['col5', 'col2']).size().groupby(level=1).max()
這將產生每個'col2' 值的最大計數的系列。
print(result)
總而言之,在Pandas 中使用'groupby' 和'size' 函數可以提高效率分析和聚合數據,使用戶能夠以各種方式提取有關其數據的見解。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3