首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python数据分析作业二:Pandas库的使用

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

作者头像
Francek Chen
发布于 2025-01-22 13:13:06
发布于 2025-01-22 13:13:06
71800
代码可运行
举报
运行总次数:0
代码可运行

一、前言

  Pandas(Python Data Analysis Library)是基于是基于 NumPy 的数据分析模块,它提供了大量标准数据模型和高效操作大型数据集所需的工具,可以说 Pandas 是使得 Python 能够成为高效且强大的数据分析环境的重要因素之一。

Pandas 有三个基本对象:Series、DataFrame 和 Index。其中,Series 和 DataFrame 是 Pandas 中最常用的两个对象,分别对应于一维和二维数据的处理(Pandas 还有对三维甚至多维数据处理的 Panel 对象,但不太常用)。而 Index 对象则用于为数据建立索引以方便数据操作。

:数据集“超市营业额2.xlsx”下载地址: 链接:https://pan.quark.cn/s/04f3970ec85e 提取码:h9Hd

二、题目及答案解析

1、读取“超市营业额2.xlsx”中的数据,存入一个名为df的DataFrame对象中并显示前5行数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
df = pd.read_excel('超市营业额2.xlsx')
df.head()

2、查看交易额数据的总体统计情况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df['交易额'].describe()

描述性统计信息describe()方法通常包括总数、平均值、标准差、最小值、25th、50th(中位数)、75th 百分位数和最大值。

3、查看第1、3、5行中第2、4、6列的数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.iloc[[0,2,4],[1,3,5]]

使用位置索引.iloc方法从 DataFrame 中选择特定的行和列。[0, 2, 4]是行的索引,表示选择第1、第3和第5行,[1, 3, 5]是列的索引,表示选择第2、第4和第6列。

4、显示李四销售化妆品的情况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.loc[(df['姓名']=='李四') & (df['柜台']=='化妆品'),:]
# df[(df['姓名'] == '李四') & (df['柜台'] == '化妆品')]

使用loc标签索引,且使用了花式索引,:表示所有列。

5、统计张三的上班次数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.loc[df['姓名']=='张三','时段'].count()
# df[df['姓名']=='张三']['时段'].count()

使用.loc方法基于条件选择姓名为 ‘张三’ 的所有行,并且仅选择这些行中的 “时段” 列。然后,.count()方法用于计算满足条件的行数,即姓名为 ‘张三’ 的行中非空的 “时段” 列的数量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
38

6、统计上半月的总交易额

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.loc[df['日期'].between('2019-03-01','2019-03-15'),'交易额'].sum()
# df[(df['日期']>='2019-03-01') & (df['日期']<='2019-03-15')]['交易额'].sum()

使用.loc方法基于日期列的值在 ‘2019-03-01’ 和 ‘2019-03-15’ 之间的条件,选择相应的行。然后,它从这些行中的 “交易额” 列中提取数值,并使用.sum()方法计算这些值的总和。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
161393.0

7、使用df中的数据分组统计每个人的交易额平均值(保留2位小数),将统计结果放入dff变量中并显示该结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dff = df.groupby('姓名')['交易额'].mean().round(2)
dff

对 DataFrame 根据 “姓名” 列进行分组,并计算每个姓名对应的 “交易额” 列的平均值。然后,使用.round(2)方法将平均值保留两位小数。最后,将结果存储在新的 Series 对象dff中。dff是一个包含每个姓名对应的平均交易额的 Series,其中索引是姓名,值是平均交易额。

8、对dff中的交易额平均值进行降序排列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dff.sort_values(ascending=False)

9、使用df中的数据按类别统计每个人的交易总额

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.pivot_table(index='姓名', columns='柜台', values='交易额', aggfunc='sum')

使用pivot_table方法创建一个透视表,其中 “姓名” 列作为行索引,“柜台” 列作为列索引,“交易额” 列的值按照指定的聚合函数进行汇总。在这个例子中,使用的聚合函数是'sum',表示对 “交易额” 进行求和。

10、统计df中缺失值的个数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.isnull().sum().sum()

使用.isnull()方法检查 DataFrame 中的每个单元格是否为空,并返回一个布尔值的 DataFrame,其中 True 表示相应的单元格为空,False 表示不为空。然后,使用.sum()方法两次对这个布尔值的 DataFrame 进行求和,第一次对每列求和,第二次对每行的结果再求和。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3

11、读取超市营业额2.xlsx中Sheet3中的数据,并与df中的数据合并,然后分类统计每人的交易额如下面所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df2 = pd.read_excel('超市营业额2.xlsx',sheetname=2)    # sheetname='Sheet3'
df.merge(df2).groupby(['姓名','职级'])['交易额'].sum()

首先使用pd.read_excel函数从 Excel 文件中读取第三个工作表(或称为"Sheet3")的数据,并将其存储在名为df2的 DataFrame 中。然后,使用merge方法将dfdf2 DataFrame 进行合并,根据共同的列进行匹配。默认情况下,merge方法会根据两个 DataFrame 中的共同列进行内连接。最后,使用groupby方法将合并后的 DataFrame 按照 “姓名” 和 “职级” 进行分组,并计算每个组中 “交易额” 列的总和。

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

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

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《JavaSE-第十三章》之异常体系
现实生活中当人的出现了一些毛病,可能就会出现发烧,感冒之类的问题。而我们写的程序也是如此,程序在执行的过程中难免出现一些奇奇怪怪的问题。因此,在java中这些在程序运行中发生的不正常的行为被称为异常。
用户10517932
2023/10/07
2130
《JavaSE-第十三章》之异常体系
【Java】认识异常
3️⃣数组下标越界异常(ArrayIndexOutOfBoundsException)
喜欢做梦
2024/11/25
1450
【Java】认识异常
Java的学习笔记(16)异常处理
异常处理02 捕获和抛出异常 5个关键字:try、catch、finally、throw、throws
卢衍飞
2023/02/13
2550
Java基础19(01)总结IO流,异常try…catch,throws,File类
1:异常(理解) (1)程序出现的不正常的情况。 (2)异常的体系 Throwable |--Error 严重问题,我们不处理。 |--Exception |--RuntimeException 运行期异常,我们需要修正代码 |--非RuntimeException 编译期异常,必须处理的,否则程序编译不通过 package cn.itcast_01; /* * 异常:程序出现了不正常的情况。 * * 举例:今天天气很好,班长出去旅游。骑着自行车,去山里面呼吸新鲜空气。 * 问题1
Java帮帮
2018/03/16
9390
Java之异常处理
Java异常处理 异常:异常就是Java程序在运行过程中出现的错误。 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象。其实就是Java对不正常情况进行描
二十三年蝉
2018/03/01
8330
Java之异常处理
java——内部类和异常处理
Java内部类(Inner Class)是嵌套在其他类中的类,它可以访问外部类的成员变量和方法,同时也可以被外部类访问。Java内部类主要有四种类型:
一只
2024/07/05
1890
Java 异常处理
以下实例演示了使用 System 类的 System.err.println() 来展示异常的处理方法:
默 语
2024/11/20
1820
04 - JavaSE之异常处理
2.throw new someExpresion("错误原因"); 表示的是手动抛出异常。 **
Daotin
2018/08/31
4970
04 - JavaSE之异常处理
Java 异常处理
异常是导致程序中断执行的一种指令流,异常一旦出现并且没有进行合理处理的化,那么程序将会中断执行。
Mirror王宇阳
2020/11/13
5980
Java 异常处理
【Java零基础入门篇】第 ⑥ 期 - 异常处理
程序员在写代码的时候即便写的尽善尽美,在系统的运行过程中依据会遇到一些问题,因为很多问题不是靠代码能够避免的。
命运之光
2024/03/20
2260
【Java零基础入门篇】第 ⑥ 期 - 异常处理
《JavaSE》---18.<异常处理>
1. Throwable:是异常体系的顶层类,其派生出两个重要的子类, Error 和 Exception
用户11288958
2024/09/24
1580
《JavaSE》---18.<异常处理>
「JAVA」运行时异常、编译时异常、自定义异常,通过案例实践转译和异常链
从事Java开发的小伙伴对于“异常”应该不陌生,因为每天都会遇到不少异常,或捕获,或抛出。那究竟什么是异常?异常即非正常的,不同于平常、一般化的情况。
老夫编程说
2020/06/16
1.4K0
「JAVA」运行时异常、编译时异常、自定义异常,通过案例实践转译和异常链
深入理解 java 异常处理机制
原文 https://blog.csdn.net/hguisu/article/details/6155636
猿芯
2021/05/27
7160
深入理解 java 异常处理机制
JAVA零基础小白学习免费教程day12-异常&Log4J
异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是:
张哥编程
2024/12/13
1740
JAVA零基础小白学习免费教程day12-异常&Log4J
【Java SE语法篇】11.异常
在生活中,一个人表情痛苦,出于关心,可能会问:你是不是生病了,需要我陪你去看医生吗?
爱敲代码的小杨.
2024/05/07
1470
【Java SE语法篇】11.异常
异常(Java)
1. Throwable : 是异常体系的顶层类,其派生出两个重要的子类 , Error 和 Exception
用户10921393
2024/01/23
3180
1-异常
异常应该尽量提前避免,但是无法做到绝对避免,异常的可能情况太多,开发中只能提前干预。
Ywrby
2022/10/27
2760
1-异常
第33节:Java面向对象中的异常
Exception:RuntimeException为空指针异常,数组下标越界异常,算数异常,类型转换异常等,IO异常(IOException),SQL异常(SQLException)。
达达前端
2019/07/03
6560
第33节:Java面向对象中的异常
深入理解 Java 异常
Throwable 是 Java 语言中所有错误(Error)和异常(Exception)的超类。
静默虚空
2019/12/20
9010
深入理解 Java 异常
大话Java异常
@toc 异常 异常的概述 --- 异常就是不正常的意思,Java语言中主要是指程序在运行阶段产生的错误 Throwable(可抛出的,可扔出的) - java.lang.Throwable 类是Java程序所有错误或异常的超类 - 主要有两个字类 - Error - Error主要描述比较严重的错误 - 无法通过编程来解决的重大的错误 - Exception - Exception主要m描述比较轻量级的错误 - 可以通过编程来解决 Exception类的
ruochen
2021/05/15
7620
大话Java异常
相关推荐
《JavaSE-第十三章》之异常体系
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验