4.2.2.3排序分组聚合 学习任务单 2022—2023学年浙教版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

4.2.2.3排序分组聚合 学习任务单 2022—2023学年浙教版(2019)高中信息技术必修1

资源简介

DataFrame之排序、分组聚合 补充书本p124
import pandas as pd
df1=pd.read_excel('成绩.xlsx') #读取文件'成绩.xlsx'
1.排序
方法:表名. sort_values('列名',axis=0,ascending=True,inplace=False)
axis=0表示进行上下排序。axis默认值为0,可以省略 ascending=True表示升序;ascending=False表示降序 inplace=False 实际行的顺序没有改变
1.表名.sort_values('列名',ascending=True) #按照列名进行升序排序 等价于df1.sort_values('列名') 2.表名.sort_values('列名',ascending=False) #按照列名进行降序排序 3.表名.sort_values(['列名1','列名2'],ascending=False) #先按照列名1进行降序排序,列名1相同按照列名2 进行降序排序
①_____________________________________ #按照'语文'成绩进行升序排序
_____________________________________ #按照'语文'成绩进行升序排序
_____________________________________ #按照'语文'成绩进行降序排序
②_________________________________________ #按照'数学'成绩进行降序排序
③________________________________________________________________
2.分组聚合groupby
2.1直接将列名作为索引
import pandas as pd df2=pd.read_excel('成绩.xlsx') #读取'成绩.xlsx'存在df2 #对班级分组并求平均,索引为班级 g = ________________________________________________ 等价写法:
2.as_index=False 不作为索引。索引即默认行号0 1 2…
import pandas as pd df2=pd.read_excel('成绩.xlsx') #对班级分组并求平均,索引为0 1 2 3.. g1=________________________________________________
[练习1:]
import pandas as pd
读取"cs.xlsx" 内容
df=_______________________________________
#按照type进行分组并计算各type数量
g1= _______________________________________
g2=________________________________________
g1 g2
[练习2]
import pandas as pd
df=pd.read_excel("cs.xlsx")
g=____________________#按照type进行分组
#计算各type平均值并保留两位小数
datas=________________________________
#对分组求平均值后的结果按照salary降序排序
___________________________________________
[练习3,本质和练习2一样,只是练习2分开写了]
import pandas as pd
df=pd.read_excel("cs.xlsx")
#按照type进行分组并计算各type平均值并保留两位小数
g=____________________________________________#此时索引为_____
#对分组后的结果按照salary降序排序
g1=________________________________________________________________
g(分组后): g1(排序后):
在上面排序后的基础上建立图表
import matplotlib.pyplot as plt #导入模块,起个小名“plt”
import numpy as np #导入numpy模块
plt.rcParams['font.sans-serif']=['simHei'] #解决中文乱码
plt.rcParams['axes.unicode_minus']=False #解决中文乱码
import pandas as pd
df1=pd.read_excel('成绩.xlsx')
g1 = df1.groupby('班级').mean().round(1) #此时:行索引为_____
x=g1.index
y=g1['语文']
plt.bar(x,y,label='班级语文平均分')
plt.legend()
plt.show()
import pandas as pd
df1=pd.read_excel('成绩.xlsx')
g2=df1.groupby('班级',as_index=False).mean().round(1) #此时行索引为_____
x=g2['班级']
y=g2['语文']
plt.bar(x,y,label='班级语文平均分')
plt.legend()
plt.title('平均分')
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
#下面pd. set_option()处理列数据无法对齐的情况
pd.set_option('display.unicode.ambiguous_as_wide',True)
pd.set_option('display.unicode.east_asian_width',True)
plt.rcParams['font.sans-serif'] = 'simhei' #图表显示中文字体
df=__________________________ #读取文件data.xlsx
_________________________________ #修改第 1 行文件架的销售人员为“毕春
#计算出每一笔业业务利润=数量*(销售单价-成本)
df["利润"]=__________________________________________________
#按"商品名称"统计本月"销售数量","利润"的总和
df1=_______________________________________________________
#筛选出本月赚钱较多的前3种商品(利润最高的前3条,先排序再取前3行)
print(_________________________________________________)
#统计本月每一位销售人员的商品销售数量
df2=__________________________________________________________
#筛选出本月销售数量>50 或销售数量<100 的销售人员
print(_________________________________________________)
x=________________________;
y=df2["销售数量"]
#以垂直柱形图的形式统计显示所有销售员的业绩
plt.figure(figsize=(8,4))
plt.title("商场运营情况分析")
plt.bar(x,y,label="销售人员业绩图",color="r")
plt.legend( )
plt.show()

展开更多......

收起↑

资源预览