1. 程式人生 > >GroupBy,Apply用法筆記

GroupBy,Apply用法筆記

一起 實施 ram 用法 ron ner and 數值 文件中

GroupBy針對DataFrame將其按照某個準則分組

1.常見的調用形式為:

df[a].GroupyBy(df[b])

df.GroupyBy(df[b,c])#層次化的索引

df.GroupyBy([b,c])#直接將columns名稱作為索引鍵進行索引

以上可理解為將Series作為分組鍵,y此外還可以將任何適當長度的array作為分組鍵,目前未嘗試過

2.常用的方法:

df.GroupyBy(df[b]).mean()#非數值列數據直接跳過
df.GroupyBy(df[b]).size()#返回一個分組的大小的Series(每個值對應的是當前鍵元素的個數)

3.舉例GroupyBy的應用:

如給出的csv文件中columns包含[‘City‘,‘State‘,‘Population‘],讓求出每個州所有城市人口的平均值,此時就可以用

df[population].GroupBy([State]).mean()

註:GroupyBy函數說明在http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.groupby.html#pandas.DataFrame.groupby

Apply函數-可針對DataFrame和Series操作,返回是DataFrame和Series

1.理解:apply將他應用的對象拆分到小一級,然後讓拆分後的每個子部分去實施apply括號內的函數操作,再把操作後的結果合在一起

2.apply可以說是非常常用,這裏只說一個基本的用例,連帶理解了lambda的用法

energy[Energy Supply]=energy[Energy Supply].apply(lambda x : x*1000000)

註:Apply函數說明 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.apply.html#pandas.DataFrame.apply

GroupBy,Apply用法筆記