Python数据分析作业二:Pandas库的使用
Python数据分析作业二:Pandas库的使用
一、前言
Pandas(Python Data Analysis Library)是基于是基于 umPy 的数据分析模块,它提供了大量标准数据模型和高效操作大型数据集所需的工具,可以说 Pandas 是使得 Python 能够成为高效且强大的数据分析环境的重要因素之一。
Pandas 有三个基本对象:Series、DataFrame 和 Index。其中,Series 和 DataFrame 是 Pandas 中最常用的两个对象,分别对应于一维和二维数据的处理(Pandas 还有对三维甚至多维数据处理的 Panel 对象,但不太常用)。而 Index 对象则用于为数据建立索引以方便数据操作。
附:数据集“超市营业额2.xlsx”下载地址: 链接: 提取码:h9Hd
二、题目及答案解析
1、读取“超市营业额2.xlsx”中的数据,存入一个名为df的DataFrame对象中并显示前5行数据
代码语言:javascript代码运行次数:0运行复制import pandas as pd
df = pd.read_excel('超市营业额2.xlsx')
df.head()
2、查看交易额数据的总体统计情况
代码语言:javascript代码运行次数:0运行复制df['交易额'].describe()
描述性统计信息describe()
方法通常包括总数、平均值、标准差、最小值、25th、50th(中位数)、75th 百分位数和最大值。
、查看第1、、5行中第2、4、6列的数据
代码语言:javascript代码运行次数:0运行复制df.iloc[[0,2,4],[1,,5]]
使用位置索引.iloc
方法从 DataFrame 中选择特定的行和列。[0, 2, 4]
是行的索引,表示选择第1、第和第5行,[1, , 5]
是列的索引,表示选择第2、第4和第6列。
4、显示李四销售化妆品的情况
代码语言:javascript代码运行次数:0运行复制df.loc[(df['姓名']=='李四') & (df['柜台']=='化妆品'),:]
# df[(df['姓名'] == '李四') & (df['柜台'] == '化妆品')]
使用loc
标签索引,且使用了花式索引,:
表示所有列。
5、统计张三的上班次数
代码语言:javascript代码运行次数:0运行复制df.loc[df['姓名']=='张三','时段'].count()
# df[df['姓名']=='张三']['时段'].count()
使用.loc
方法基于条件选择姓名为 ‘张三’ 的所有行,并且仅选择这些行中的 “时段” 列。然后,.count()
方法用于计算满足条件的行数,即姓名为 ‘张三’ 的行中非空的 “时段” 列的数量。
8
6、统计上半月的总交易额
代码语言:javascript代码运行次数:0运行复制df.loc[df['日期'].between('2019-0-01','2019-0-15'),'交易额'].sum()
# df[(df['日期']>='2019-0-01') & (df['日期']<='2019-0-15')]['交易额'].sum()
使用.loc
方法基于日期列的值在 ‘2019-0-01’ 和 ‘2019-0-15’ 之间的条件,选择相应的行。然后,它从这些行中的 “交易额” 列中提取数值,并使用.sum()
方法计算这些值的总和。
1619.0
7、使用df中的数据分组统计每个人的交易额平均值(保留2位小数),将统计结果放入dff变量中并显示该结果
代码语言:javascript代码运行次数:0运行复制dff = df.groupby('姓名')['交易额'].mean().round(2)
dff
对 DataFrame 根据 “姓名” 列进行分组,并计算每个姓名对应的 “交易额” 列的平均值。然后,使用.round(2)
方法将平均值保留两位小数。最后,将结果存储在新的 Series 对象dff
中。dff
是一个包含每个姓名对应的平均交易额的 Series,其中索引是姓名,值是平均交易额。
8、对dff中的交易额平均值进行降序排列
代码语言:javascript代码运行次数:0运行复制dff.sort_values(ascending=False)
9、使用df中的数据按类别统计每个人的交易总额
代码语言:javascript代码运行次数:0运行复制df.pivot_table(index='姓名', columns='柜台', values='交易额', aggfunc='sum')
使用pivot_table
方法创建一个透视表,其中 “姓名” 列作为行索引,“柜台” 列作为列索引,“交易额” 列的值按照指定的聚合函数进行汇总。在这个例子中,使用的聚合函数是'sum'
,表示对 “交易额” 进行求和。
10、统计df中缺失值的个数
代码语言:javascript代码运行次数:0运行复制df.isnull().sum().sum()
使用.isnull()
方法检查 DataFrame 中的每个单元格是否为空,并返回一个布尔值的 DataFrame,其中 True 表示相应的单元格为空,False 表示不为空。然后,使用.sum()
方法两次对这个布尔值的 DataFrame 进行求和,第一次对每列求和,第二次对每行的结果再求和。
11、读取超市营业额2.xlsx中Sheet中的数据,并与df中的数据合并,然后分类统计每人的交易额如下面所示
代码语言:javascript代码运行次数:0运行复制df2 = pd.read_excel('超市营业额2.xlsx',sheetname=2) # sheetname='Sheet'
(df2).groupby(['姓名','职级'])['交易额'].sum()
首先使用pd.read_excel
函数从 Excel 文件中读取第三个工作表(或称为"Sheet")的数据,并将其存储在名为df2
的 DataFrame 中。然后,使用merge
方法将df
和df2
DataFrame 进行合并,根据共同的列进行匹配。默认情况下,merge
方法会根据两个 DataFrame 中的共同列进行内连接。最后,使用groupby
方法将合并后的 DataFrame 按照 “姓名” 和 “职级” 进行分组,并计算每个组中 “交易额” 列的总和。
结果是一个包含姓名、职级和对应交易额总和的 Series,其中索引是多级索引,包括 “姓名” 和 “职级”,值是交易额的总和。
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上一篇:数据的属性与相似性
下一篇:windows切换系统版本
推荐阅读
留言与评论(共有 15 条评论) |
本站网友 重庆电视台天天630 | 14分钟前 发表 |
然后 | |
本站网友 清闲自在 | 24分钟前 发表 |
职级和对应交易额总和的 Series | |
本站网友 昆明美食 | 15分钟前 发表 |
第和第5行 | |
本站网友 现代缘墅 | 17分钟前 发表 |
使用.sum()方法两次对这个布尔值的 DataFrame 进行求和 | |
本站网友 邹家军 | 14分钟前 发表 |
其中 True 表示相应的单元格为空 | |
本站网友 最好的男科 | 11分钟前 发表 |
并使用.sum()方法计算这些值的总和 | |
本站网友 硫酸多粘菌素b | 24分钟前 发表 |
并返回一个布尔值的 DataFrame | |
本站网友 vs2008下载 | 1分钟前 发表 |
并计算每个姓名对应的 “交易额” 列的平均值 | |
本站网友 红豆汤 | 14分钟前 发表 |
附:数据集“超市营业额2.xlsx”下载地址: 链接: 提取码:h9Hd二 | |
本站网友 重点 | 30分钟前 发表 |
10 | |
本站网友 鸽子蛋的营养成分 | 24分钟前 发表 |
columns='柜台' | |
本站网友 糖尿病专科医院 | 7分钟前 发表 |
结果是一个包含姓名 | |
本站网友 星际探索 | 10分钟前 发表 |
5]]使用位置索引.iloc方法从 DataFrame 中选择特定的行和列 | |
本站网友 丰胸整形美容 | 13分钟前 发表 |
代码语言:javascript代码运行次数:0运行复制86 |