乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 从Excel进阶到Python:掌握数据透视表-excel标准差

从Excel进阶到Python:掌握数据透视表-excel标准差

作者:乔山办公网日期:

返回目录:excel表格制作

常用Excel的朋友应该都离不开数据透视表了吧,哈哈。在进行探索数据分析的时候,数据透视表是非常好的一项工具,它能帮助我们从多个维度对数据进行探索,还能计算多种聚合值,比如均值、中位数等。

但是想要进阶成为更全面的数据分析师,学好一门适合数据分析的编程语言是必不可少的。Python和R都是不错的选择,不过Python的应用范围更广,所以在这里我更推荐Python。今天,我们就来看一下如何在Python中使用groupby和pivot_table来构建数据透视表。

生成示例数据

我们生成一些数据用于后边的讲解,假设有8个学生的考试成绩数据,8人分别来自四个班级,有男有女。

import pandas as pd
classes = ['A', 'B', 'A', 'B', 'C', 'D', 'D', 'C']
gender = ['M', 'F', 'M', 'F', 'M', 'F', 'M', 'F']
score = [100, 90, 80, 70, 60, 85, 77, 92]
df = pd.DataFrame({
'class': classes,
'gender': gender,
'score': score
})
df
从Excel进阶到Python:掌握数据透视表

一、groupby()结合aggretate()/agg()进行聚合统计

# 求每个班的人数
df.groupby('class').count()
# 求每个班成绩的均值
df.groupby('class')['score'].mean()
# 分别求男女生中的最高分
df.groupby('gender')['score'].max()
# 求每个班、男女生成绩的均值
df.groupby(['class', 'gender'])['score'].mean()
从Excel进阶到Python:掌握数据透视表

从Excel进阶到Python:掌握数据透视表

如果pandas就这么点本事,就不值得我给你们介绍了。我们可以使用agg()函数或者aggregate()函数来选择对我们的GroupBy对象执行哪种或哪些聚合方法。

df.groupby(['class', 'gender'])['score'].agg(['count', 'mean', 'max', 'min'])
从Excel进阶到Python:掌握数据透视表

二、pivot_table与melt

我们知道,在Excel中,数据透视表不光能指定行维度,还能指定列维度。虽然使用groupby结合unstack()也可以实现,但是在pandas中,我们有更加专门的pivot_table()函数可以一步到位。

我们试着用班级作为行,用性别作为列,来求每个单元内的成绩均值。

df.pivot_table(index='class', columns='gender', 
values='score', fill_value=0,
aggfunc='mean')
从Excel进阶到Python:掌握数据透视表

这里,我们用fill_value=0指定了缺失值填补为0,用aggfunc指定聚合函数,注意,这里我们还可以自定义聚合函数哦,比如求第二大的值、求标准差等等,这样就比Excel的数据透视表更加灵活了。

已经转换成数据透视表的数据还可以变换成堆叠起来的数据,比如上边的F/M两列我们仍然可以用一列gender来表示。

df2 = df.pivot_table(index='class', columns='gender', 
values='score', fill_value=0,
aggfunc='mean').reset_index()
pd.melt(df2,
id_vars='class',
value_vars=['F', 'M'],
value_name='Monetary',
var_name='gender')
从Excel进阶到Python:掌握数据透视表

好,我们就简单介绍到这里,你学会了吗?要记得多加练习哦。

相关阅读

  • 怎样给word设置快捷键-word快捷键

  • 乔山办公网word文档
  • word快捷键,3.鼠标在“无”字后面单击。4.按一下Ctrl键,系统会自动出现“Ctrl+Alt+”。7.下次只需同时按下“Ctrl+Alt+W的组合键就可以快速打开Word程序。
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网