您现在的位置是:首页 > 编程 > 

Python数据分析作业二:Pandas库的使用

2025-07-25 21:57:23
Python数据分析作业二:Pandas库的使用 一、前言  Pandas(Python Data Analysis Library)是基于是基于 umPy 的数据分析模块,它提供了大量标准数据模型和高效操作大型数据集所需的工具,可以说 Pandas 是使得 Python 能够成为高效且强大的数据分析环境的重要因素之一。 Pandas 有三个基本对象:Series、DataFrame 和 Ind

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()方法用于计算满足条件的行数,即姓名为 ‘张三’ 的行中非空的 “时段” 列的数量。

代码语言:javascript代码运行次数:0运行复制
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()方法计算这些值的总和。

代码语言:javascript代码运行次数:0运行复制
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 进行求和,第一次对每列求和,第二次对每行的结果再求和。

代码语言:javascript代码运行次数:0运行复制

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方法将dfdf2 DataFrame 进行合并,根据共同的列进行匹配。默认情况下,merge方法会根据两个 DataFrame 中的共同列进行内连接。最后,使用groupby方法将合并后的 DataFrame 按照 “姓名” 和 “职级” 进行分组,并计算每个组中 “交易额” 列的总和。

结果是一个包含姓名、职级和对应交易额总和的 Series,其中索引是多级索引,包括 “姓名” 和 “职级”,值是交易额的总和。

在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-08-18,如有侵权请联系 cloudcommunity@tencent 删除python数据分析pandas数据索引

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1137994.html

相关标签:无
上传时间: 2025-07-19 04:12:58
留言与评论(共有 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