金融量化分析【day111】:Pandas-分組與聚合

 1、分組與聚合

在數據分析中,咱們有時須要將數據拆分,在每個特定的組裏進行運算python

一、實驗數據準備

a = pd.read_csv('601318.csv')
a

  數據以下:函數

實驗數據

二、示例

df.groupby('key1').mean()

三、分組與聚合的步驟

分組:拆分數據爲若干組spa

聚合:組內應用某個函數3d

2、分組

一、按一列分組

df.groupby('key1').mean()

二、按多列分組

df.groupby(['key1','key2']).mean()

 

三、自定義分組

df.groupby(len).mean()

df.groupby(lambda x:len(x)).mean()

  

四、獲取分組信息

df.groupby(lambda x:'zheng' if df.loc[x,'data2']>0 else 'fu').mean()

  

df.groupby('key1').get_group('b')

  

 

3、聚合

分組以後須要聚合函數來應用到每一組中code

內置聚合函數blog

一、自定義聚合函數get

df.groupby('key1').agg(lambda x:x.max())

  

二、多個聚合函數數據分析

三、不一樣列應用不一樣聚合函數class

df.groupby('key1').agg({'data1':'min','data2':'max'})

  

4、數據合併

一、數據拼接

df2 = df.copy()
df3 = df.copy()
pd.concat([df,df2,df3])

 

pd.concat([df,df2,df3],keys=list('abc'))

  

pd.concat([df,df2,df3],ignore_index=True)

  

pd.concat([df,df2,df3],axis=1)

  

pd.concat([df,df2,df3],axis=1,ignore_index=True)

  

二、數據鏈接

pd.merge(df,df2)

  

pd.merge(df,df2,on='key1')

  

pd.merge(df,df2)

  

pd.merge(df,df2,on=['key1','key2'])

  

三、合併小結 

相關文章
相關標籤/搜索