1、第4章 数据 处理与应用浙教浙教版版 信息技术信息技术(高中)(高中)必修必修1 1 数据与计算数据与计算4 4.2.2.1.2 DataFrame.2.2.1.2 DataFrame 学习目标1234大数据处理的基本思想批处理计算和流计算、图计算,编程处理数据文本数据处理,文本数据分析与应用数据可视化12重点难点重点:大数据处理的思想和编程处理数据。难点:编程处理数据。s1=pd.Series(“s01”:166,“s02”:178,“s03”:18s1=pd.Series(“s01”:166,“s02”:178,“s03”:180,index=“s02”,“s04”)0,index=“s0
2、2”,“s04”)Series回忆import pandas as pdimport pandas as pdDataframeSeriesdf定义df1df属性data=data=王静怡王静怡,28,28,张佳妮张佳妮,56,56,李臣武李臣武,37,37df1=pd.DataFrame(data,columns=df1=pd.DataFrame(data,columns=姓名姓名,借阅次数借阅次数)data=“data=“姓名姓名”:pd.Series(”:pd.Series(“王静怡王静怡”,“”,“张佳妮张佳妮”,“”,“李臣武李臣武”,index=,index=“a”,“a”,“b”
3、,“c”“b”,“c”),“),“借阅次数借阅次数”:”:pd.Series(pd.Series(28,56,3728,56,37,index=“b”,index=“b”,“c”,“d”“c”,“d”)df1=pd.DataFrame(data)df1=pd.DataFrame(data)df2=pd.DataFrame(data,index=d,c,b)df2=pd.DataFrame(data,index=d,c,b)df创建df练习pandas.xlsxpandas.xlsxdf1df1df创建excelexceldfdfdfdfexcelexcelpandas.xlsxpandas.x
4、lsxdf1df1df创建csvcsvdf pd.read_csv()df pd.read_csv()逗号作为分隔符逗号作为分隔符pandas.csvpandas.csvdf1df1dfdfcsvcsv pd.to_csv()pd.to_csv()df创建索引索引1 1列数据:列数据:索引索引1 1行数据:只能切片行数据:只能切片df11df11df11df11:22索引索引1 1个数据:个数据:df1.atdf1.at行行,列列 df1df1列列行行 df1df1df索引筛选出采价点为超市筛选出采价点为超市1 1的商品的商品303052526868df修改countcount()()返回每一
5、行返回每一行/列的非列的非N N个数个数1 1、获取各产品的最高价、最低价和平均价、获取各产品的最高价、最低价和平均价df1.max():每一列的最大值df1.max(axis=1):每一行的最大值1 1、获取各产品的最高价、最低价和平均价、获取各产品的最高价、最低价和平均价df_max=df1.max()df_min=df1.min()df_mean=df1.mean()1 1、获取各门科目的最高分和最低分、获取各门科目的最高分和最低分2 2、获取李四的总分、获取李四的总分df1deseribe()deseribe()返回各列的基本描述统计值,包含计数、平均数、返回各列的基本描述统计值,包含
6、计数、平均数、标准差、最大值、最小值及标准差、最大值、最小值及4 4分位差分位差2 2、获取每个地区所产苹果的平均价格、获取每个地区所产苹果的平均价格groupby()groupby()对各列或各行中的数据进行对各列或各行中的数据进行分组分组。然后可对其中每一组数据进行然后可对其中每一组数据进行不同不同的操作的操作df_mean=df1.mean()2 2、获取每个地区所产苹果的平均价格、获取每个地区所产苹果的平均价格df_mean=df1.mean()df_m=df1.groupby(“地区”).mean()df_m=df1.groupby(“地区”).mean()df_m=df1.grou
7、pby(“地区”,as_index=False).mean()某DataFrame对象df,包含准考证号学校姓名数学语文等数据列,下列语句中,可以以学校为单位,统计出各校学生数学成绩平均值的有()df.groupby(学校).mean()df.groupby(数学).mean()df.groupby(学校).数学.mean()df.groupby(学校).describe()A.B.C.D.C3 3、获取价格最高的、获取价格最高的2 2个产品信息个产品信息df_max=df1.max()3 3、获取价格、获取价格最高的最高的2 2个产个产品信息品信息3 3、获取价格、获取价格最高的最高的2 2
8、个产个产品信息品信息df_s=df1.sort_values(“价格”)3 3、获取价、获取价格最高的格最高的2 2个产品信个产品信息息df_s=df1.sort_values(“价格”)df_t=df1.sort_values(“价格”).tail(2)3 3、获取价、获取价格最高的格最高的2 2个产品信个产品信息息df_t=df1.sort_values(“价格”).tail(2)df_h=df1.sort_values(“价格”,ascending=False).head(2)将三个人按照语文成绩降序排序将三个人按照语文成绩降序排序4 4、删除第、删除第1 1个商品信息个商品信息以及数据
9、列以及数据列“规格规格”5 5、将、将df2df2加到加到df1df1下面下面df_a=df1.append(df2)df1df2df_a=df1.append(df2,ignore_index=True)67df_a=df1.append(df2,ignore_index=True,inplace=True)A小李将 2022 年北京冬奥会的奖牌榜保存在 Excel 工作簿“2022BJ.xlsx”文件中(1)在 Excel 软件中打开“2022BJ.xlsx”文件,为了计算各国的奖牌总数,小李先在 F2 单元 格中利用求和函数得出挪威的奖牌总数,然后利用填充柄完成区域 F3:F30 的各国
10、奖牌总数的计 算,则在 F4 单元格中中国的奖牌总数的计算公式是_。=SUM(C4:E4)(2)为了提高效率,小李利用 Python 编程对 Excel 工作簿文件进行数据分析,设计如下 Python程序代码,请根据要求在划线处填入合适的代码或完成相应操作的选择。import pandas as pdimport matplotlib.pyplot as pltplt.rcParamsfont.sans-serif=SimHei#使图形中的中文正常编码显示df=pd.read_excel(_)#读取 Excel 文件 print(_)#筛选出金牌数前 10 名(即顺序号小于等于 10)的记录并
11、打印 dfs=_#筛选出奖牌总数前 10 名的记录,并按从高到低排序输出给 dfs print(dfs)#打印 dfs2022BJ.xlsxdfdf.顺序=10或者dfdf顺序=10df.sort_values(“金牌”,ascending=False).head(10)df.sort_values(“金牌”,ascending=False):10(2)为了提高效率,小李利用 Python 编程对 Excel 工作簿文件进行数据分析,设计如下 Python程序代码,请根据要求在划线处填入合适的代码或完成相应操作的选择。import pandas as pdimport matplotlib.p
12、yplot as pltplt.rcParamsfont.sans-serif=SimHei#使图形中的中文正常编码显示df=pd.read_excel(_)#读取 Excel 文件 print(_)#筛选出金牌数前 10 名(即顺序号小于等于 10)的记录并打印 dfs=_#筛选出奖牌总数前 10 名的记录,并按从高到低排序输出给 dfs print(dfs)#打印 dfs2022BJ.xlsxdfdf.顺序=10或者dfdf顺序=10df.sort_values(“金牌”,ascending=False).head(10)df.sort_values(“金牌”,ascending=True
13、).tail(10)(2)为了提高效率,小李利用 Python 编程对 Excel 工作簿文件进行数据分析,设计如下 Python程序代码,请根据要求在划线处填入合适的代码或完成相应操作的选择。import pandas as pdimport matplotlib.pyplot as pltplt.rcParamsfont.sans-serif=SimHei#使图形中的中文正常编码显示df=pd.read_excel(_)#读取 Excel 文件 print(_)#筛选出金牌数前 10 名(即顺序号小于等于 10)的记录并打印 dfs=_#筛选出奖牌总数前 10 名的记录,并按从高到低排序输
14、出给 dfs print(dfs)#打印 dfs2022BJ.xlsxdfdf.顺序=10或者dfdf顺序=10df.sort_values(“金牌”,ascending=False).head(10)dfs=df.sort_values(奖牌总数,ascending=True):-11:-1某年全国主要农产品生产价格指数数据表如图a所示。(1)制作某年全国主要农产品生产价格季平均的图表如图b所示。该图表类型是_。(填:线型图/垂直柱形图/水平柱形图/散点图)垂直柱形图(2)实现的代码如下,请在画线处填上合适的代码。import pandas as pdimport matplotlib.py
15、plot as pltplt.rcParamsfont.sansserifSimhei#支持中文显示dfpd.read_excel(”月考14.xlsx”)#在df对象中添加一列”季平均”,值为四季度平均值df”季平均”_#按照”季平均”对df对象进行降序排序_df.mean(axis1)df_sortdf.sort_values(”季平均”,ascendingFalse)(3)若现要在上述程序基础上对df对象按“类别”分组并求出每列最大值并存入df_gpb,请补充完整下列语句实现该功能df.groupby(”类别”)max()s3=pd.Series(“s01”:166,“s02”:178,
16、“s03”:18s3=pd.Series(“s01”:166,“s02”:178,“s03”:180,index=“s02”,“s04”)0,index=“s02”,“s04”)Series创建import pandas as pdimport pandas as pds1=pd.Series(166,178,180)s1=pd.Series(166,178,180)s2=pd.Series(“s01”:166,“s02”:178,“s03”:180)s2=pd.Series(“s01”:166,“s02”:178,“s03”:180)Series引用166?166?166166和和17817
17、8?166166和和180180?s2s2大于大于170170的?的?Series修改166166和和178178改成改成170170和和180180s2s2Series运算s1s3s1+s3df创建data=data=20,3020,30,40,5040,50,60,7060,70df1=pd.DataFrame(data,columns=df1=pd.DataFrame(data,columns=a a,b b)筛选出采价点为超市筛选出采价点为超市1 1的商品的商品df引用将将pandas.xlsxpandas.xlsx转变为转变为df1df1df函数求平均价格求平均价格求各个地区的平均价格求各个地区的平均价格求价格最高的两个商品求价格最高的两个商品df函数将将df2df2添加到添加到df1df1下面下面df函数删除删除“单位单位”列,第列,第3 3行行df函数count()count()describe()describe()rename()rename()insert()insert()concat()concat()谢 谢!Thanks!