Python 数据分析—第九章 数据聚合与分组运算

Posted 慢慢来会比较快

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 数据分析—第九章 数据聚合与分组运算相关的知识,希望对你有一定的参考价值。

打算从后往前来做笔记

第九章 数据聚合与分组运算

分组

#生成数据,五行四列
df = pd.DataFrame({\'key1\':[\'a\',\'a\',\'b\',\'b\',\'a\'],
                  \'key2\':[\'one\',\'two\',\'one\',\'two\',\'one\'],
                  \'data1\':np.random.randn(5),
                  \'data2\':np.random.randn(5)})
df

#可以按照key1分组计算data1的平均值
df.loc[:,\'data1\'].groupby(df.loc[:,\'key1\']).mean()

 

#可以按照key1,key2分组计算data1的平均值
df.loc[:,\'data1\'].groupby([df.loc[:,\'key1\'],df.loc[:,\'key2\']]).mean()

#两个键分组后可以unstack
temp = df.loc[:,\'data1\'].groupby([df.loc[:,\'key1\'],df.loc[:,\'key2\']]).mean()
temp.unstack()

注意:这里分组忽略null值,另外groupby()括号里可以选择axis = 0 或者1,表示按照航或者列来分组,同时如果df[\'列名\'].groupby()这样就只有这列会group,不然就是全部数据groupby,groupby()里面还可以传入函数比如len

 

聚合



df.groupby(\'key1\').std() #还有count(),sum(),mean(),median()std,var,min,max,prod,first,last

#可以自定义函数
df.groupby(\'key1\').agg([lambda x : x.max()-x.min(),np.mean,np.std])

 

#可以自定义函数
df.groupby(\'key1\').agg([(\'自定义函数\',lambda x : x.max()-x.min()),(\'均值\',np.mean),(\'标准差\',np.std)])

#不同列做不同的动作,一个取最大值,一个取最小值
df.groupby(\'key1\').agg({\'data1\':np.max,\'data2\':np.min})
df.groupby(\'key1\').agg({\'data1\':[np.max,np.size,np.mean],\'data2\':np.min})  #这个超级吊

 

 

透视表和交叉表

tips.pivot_table(index=\'sex\',columns=\'time\',values=\'total_bill\',aggfunc=np.sum,margins=True,fill_value=0)

对照这个东西看就都懂了,index代表了行,columns代表了列,values代表值,然后aggfunc代表取sum,还是mean,margins代表是否显示汇总,fill_value填充缺失值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于Python 数据分析—第九章 数据聚合与分组运算的主要内容,如果未能解决你的问题,请参考以下文章

语法》第九章 数据类型转换

利用Python进行数据分析-Pandas(第六部分-数据聚合与分组运算)

Python数据聚合和分组运算-GroupBy Mechanics

python第九章,计算生态概念

Python其实很简单 第九章 列表与元组(一)

数据聚合与分组运算