Python數據分析庫pandas ------ GroupBy數據聚合、等級分組、組迭代、鏈式轉換、聚合分組后取值


數據聚合(GroupBy)

 1 frame10 = pd.DataFrame({  2 'color': ['white','red','green','red','green'],  3 'object': ['pen','pencil','pencil','ashtray','pen'],  4 'price1' : [5.56,4.20,1.30,0.56,2.75],  5 'price2' : [4.75,4.12,1.60,0.75,3.15]  6 })  7 group = frame10['price1'].groupby(frame10['color'])  8 print(group, "\n-----*group*-----\n")  9 print(group.groups, "\n-----*group.groups*-----\n") 10 print(group.sum(), "\n-----*group.sum*-----\n") 11 print(group.mean(), "\n-----*group.mean*-----")

  輸出結果:

  

  令xgroup.sum(), 則可以取值為:

  x.values 

  x.values
  Out[20]: array([2.75, 1.3 , 0.56, 4.2 , 5.56])

 等級分組

1 ggroup = frame10['price1'].groupby([frame10['color'],frame10['object']]) 2 print(ggroup.groups, "\n-----*ggroup.groups*-----\n") 3 print(ggroup.sum(), "\n-----*ggroup.sum*-----\n") 4 print(frame10[['price1','price2']].groupby(frame10['color']).mean())

  輸出結果:

  

 組迭代

1 for name,group in frame10.groupby('color'): 2 print(name) 3 print(group)

  

 鏈式轉換

1 result1 = frame10['price1'].groupby(frame10['color']).mean() 2 result2 = frame10.groupby(frame10['color']).mean() 3 print(result1, "\n-----*result1*-----\n") 4 print(result2, "\n-----*result2*-----\n") 5 print(frame10.groupby(frame10['color'])['price1'].mean(), "\n-----*frame10.groupby(frame10['color'])['price1'].mean()*-----\n") 6 print((frame10.groupby(frame10['color']).mean())['price1'], "\n-----*-----\n") 7 print(frame10.groupby('color').mean().add_prefix('mean_'))

  輸出結果:

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM