pandas数据分析(二)

news2025/7/10 10:52:48

文章目录

  • DataFrame数据处理与分析
    • 读取Excel文件中的数据
    • 筛选符合特定条件的数据
    • 查看数据特征和统计信息
    • 按不同标准对数据排序
    • 使用分组与聚合对员工业绩进行汇总

DataFrame数据处理与分析

部分数据如下
在这里插入图片描述
这个数据百度可以搜到,就是下面这个
在这里插入图片描述

读取Excel文件中的数据

import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide',True)
pd.set_option('display.unicode.east_asian_width',True)
#usecols指定要读取的列的索引或名字
df=pd.read_excel(r'C:\Users\dell\Desktop\超市营业额2.xlsx',usecols=['工号','姓名','时段','交易额'])
print(df[:10],end='\n\n')#输出前10行数据

在这里插入图片描述

#读取第一个worksheet中所有列
#跳过第1、3、5行,指定下标为1的列中数据为DataFrame的行索引标签
df=pd.read_excel(r'C:\Users\dell\Desktop\超市营业额2.xlsx',skiprows=[1,3,5],index_col=1)
print(df[:10])

在这里插入图片描述

筛选符合特定条件的数据

#读取全部数据,使用默认索引
df=pd.read_excel(r'C:\Users\dell\Desktop\超市营业额2.xlsx')
#下标在[5,10]区间的行,切片限定的是左闭右开区间
df[5:11]

在这里插入图片描述

#iloc使用整数做索引
df.iloc[5]#索引为5的行

在这里插入图片描述

df.iloc[[3,5,10]]#下标为[3,5,10]的行

在这里插入图片描述

df.iloc[[3,5,10],[0,1,4]]#行下标[3,5,10],列下标[0,1,4]

在这里插入图片描述

df[['姓名','时段','交易额']][:5]#指定的列前5行的数据

在这里插入图片描述

df[:10][['姓名','日期','柜台']]#只查看前10行指定的列

在这里插入图片描述

df.loc[[3,5,10],['姓名','交易额']]#下标为[3,5,10]行的指定列

在这里插入图片描述

df.at[3,'姓名']#行下标为3,姓名列的值

'赵六'
#如果有报错,看看柜台列的字符是不是跑到交易额列去了
#因为交易额有几个是空值,直接复制来的数据可能位置不对
print(df[df['交易额']>1700])#交易额高于1700元的数据

在这里插入图片描述

df['交易额'].sum()#交易总额

327257.0
#注意这个数据里是中文冒号
df[df['时段']=='14:00-21:00']['交易额'].sum()#下午班的交易总额

151228.0
#张三下午班的交易情况
df[(df.姓名=='张三')&(df.时段=='14:00-21:00')]

在这里插入图片描述

#日用品柜台销售总额
df[df['柜台']=='日用品']['交易额'].sum()

88162.0
#张三和李四2人销售总额
df[df['姓名'].isin(['张三','李四'])]['交易额'].sum()

116860.0
#交易额在指定范围内的记录
df[df['交易额'].between(800,850)]

在这里插入图片描述

查看数据特征和统计信息

#查看交易额统计信息
df['交易额'].describe()

在这里插入图片描述

#交易额四分位数
df['交易额'].quantile([0,0.25,0.5,0.75,1.0])

在这里插入图片描述

#交易额中值
df['交易额'].median()

1259.0
#交易额最小的3条记录
df.nsmallest(3,'交易额')

在这里插入图片描述

#交易额最大的3条记录
df.nlargest(3,'交易额')

在这里插入图片描述

#最后一个日期
df['日期'].max()

Timestamp('2019-03-31 00:00:00')
#最小的工号
df['工号'].min()

1001
#第一个最小交易额的行下标
index=df['交易额'].idxmin()
print(index)
#第一个最小交易额
print(df.loc[index,'交易额'])

76
53.0
#第一个最大交易额的行下标
index=df['交易额'].idxmax()
print(index)
#第一个最大交易额
print(df.loc[index,'交易额'])

105
12100.0

按不同标准对数据排序

#按交易额和工号降序排序
df.sort_values(by=['交易额','工号'],ascending=False)

在这里插入图片描述

#按交易额降序、工号升序排序
df.sort_values(by=['交易额','工号'],ascending=[False,True])

在这里插入图片描述

#按工号升序排序,na_position指定缺失值放在最前面/后面,first/last
df.sort_values(by='工号',na_position='last')

在这里插入图片描述

#按列名升序排序
#汉字的Unicode编码排序
df.sort_values(by='姓名',ascending=True)

在这里插入图片描述

使用分组与聚合对员工业绩进行汇总

#index对5求余,然后求和
df.groupby(by=lambda num:num%5)['交易额'].sum()

在这里插入图片描述

#根据指定字典的键对index进行分组,值为index标签
df.groupby(by={7:'下标为7的行',35:'下标为35的行'})['交易额'].sum()

在这里插入图片描述

#不同时段的销售总额
df.groupby(by='时段')['交易额'].sum()

某行数据有问题,但无伤大雅,重要的是方法
在这里插入图片描述

#各柜台销售总额
df.groupby(by='柜台')['交易额'].sum()

在这里插入图片描述

#查看每个员工上班总时长是否均匀
ddf=df.groupby(by='姓名')['日期'].count()
ddf.name='上班次数'
ddf

在这里插入图片描述

#每个员工交易额的平均值
df.groupby(by='姓名')['交易额'].mean().round(2).sort_values()

在这里插入图片描述

#汇总交易额转换为整数
df.groupby(by='姓名').sum()['交易额'].apply(int)

在这里插入图片描述

#每个员工交易额的中值
df.groupby(by='姓名')['交易额'].median()

在这里插入图片描述

# 每个员工交易额中值的排名
dff=df.groupby(by='姓名').median()
dff['排名']=dff['交易额'].rank(ascending=False)
dff[['交易额','排名']]

在这里插入图片描述

# 每个员工不同时段的交易额
df.groupby(by=['姓名','时段'])['交易额'].sum()

在这里插入图片描述

# 时段和交易额采用不同的聚合方式
df.groupby(by=['姓名'])['时段','交易额'].aggregate({'交易额':['sum'],'时段':lambda x:'各时段累计'})

在这里插入图片描述

# 使用DataFrame结构的agg()方法对指定列进行聚合
df.agg({'交易额':['sum','mean','min','max','median'],'日期':['min','max']})

在这里插入图片描述

# 对分组结果进行聚合
df.groupby(by='姓名').agg(['max','min','mean','median'])[['工号','交易额']]

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/396353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM实战OutOfMemoryError异常

目录 Java堆溢出 常见原因: 虚拟机栈和本地方法栈溢出 实验1:虚拟机栈和本地方法栈测试(作为第1点测试程序) 实验2:(作为第1点测试程序) 运行时常量池和方法区溢出 运行时常量池内存溢出 …

模型压缩技术综述

当今,随着深度学习技术的不断进步,越来越多的大型多模态模型被应用于自然语言处理、计算机视觉等领域。然而,这些模型往往需要数十亿甚至上百亿的参数,不仅训练时间长、计算资源消耗大,而且在实际应用中也会受到硬件、…

android sdk分析工具uiautomatorviewer.bat启动报错

位于android sdk目录android-sdk\tools\bin下的分析工具uiautomatorviewer.bat启动报错: uiautomatorviewer.bat -Djava.ext.dirs..\lib\x86_64;..\lib is not supported. Use -classpath instead. Error: Could not create the Java Virtual Machine. Error: A fa…

20张图带你彻底了解ReentrantLock加锁解锁的原理

哈喽大家好,我是阿Q。 最近是上班忙项目,下班带娃,忙的不可开交,连摸鱼的时间都没有了。今天趁假期用图解的方式从源码角度给大家说一下ReentrantLock加锁解锁的全过程。系好安全带,发车了。 简单使用 在聊它的源码…

浅谈Spring6之P和C命名空间注入的区别

基于P命名空间注入 P命名空间注入是简化构造方法的注入 使用P命名空间注入的两个条件 一&#xff1a;xmlns:p"http://www.springframework.org/schema/p" 二&#xff1a;提供set方法class类 Spring_p.xml配置<!--P命名注入底层是set注入><bean id"dogB…

anaconda的linux版本以及jupyter的安装和DataSpell连接linux的jupyter服务器

anaconda安装&#xff1a;官网&#xff1a;https://www.anaconda.com/拷贝下载网址后&#xff0c;在Linux里进行下载&#xff1a;wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh执行sh&#xff1a;./Anaconda3-2022.10-Linux-x86_64.sh 安装完后&a…

webpack指南(优化篇)——webpack项目优化

系列文章目录 webpack指南&#xff08;基础篇&#xff09;——手把手教你配置webpack 文章目录系列文章目录前言一、概述二、传输性能优化1.代码压缩1.1 css压缩1.2 js压缩1.3 进一步压缩js1.4 压缩html1.5图片压缩2.摇树优化(Tree Shaking)3.作用域提升4.抽取公共模块&#x…

python+selenium自动化测试解决不了的alert问题,使用PyKeyboard解决方法

在python自动化测试中&#xff0c;面对浏览器弹出的对话框&#xff0c;python自带的alert可能解决不了关闭弹框&#xff0c;这时候可以引入PyKeyboard来解决下载并安装pyHook-1.5.1-cp36-cp36m-win_amd64.whl&#xff0c;下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/&…

你需要知道的云计算常识

云计算常识_基础阶段云计算服务器架构的演进云计算能够提供什么价值&#xff1f;谁为云计算提供服务&#xff1f;计算机的组成部分进制转换云计算 服务器架构的演进 Mon 06Mon 13Mon 20裸金属 虚拟机 云主机(云平台) 容器&#xff08;云原生&#xff09; serviceless(无服务) …

基于VC+MSSQL开发的医院PACS系统全套源代码 强大的三维重建功能

医院PACS系统源码 PACS源码 一套医学影像存储与传输系统&#xff0c;PACS部分主要提供医学影像获取、影像信息网络传递、大容量数据存储、影像显示和处理、影像打印等功能。RIS主要提供分诊登记、叫号、检查报告生成和打印等功能。本套影像存储与传输系统将二者进行无缝对接&a…

CHAPTER 4 文件共享 - Samba

文件共享 - Samba1 Samba1.1 Samba的软件架构1.2 搭建Samba服务器1.3 samba用户管理1. 添加用户2. 修改用户密码3. 删除用户和密码4. 查看samba用户列表5. 查看samba服务器状态1.4 samba共享设置&#xff08;配置文件详解&#xff09;1.5 访问共享目录1. windows访问2. linux客…

机智云目前我用过最便捷的物联网快速开发方案

GE211 MINI DTU上手来看&#xff0c;是一款尺寸比较小巧的模块&#xff0c;适合放置在几乎所有白色家电中&#xff0c;通过ph2.0端子&#xff08;注意不要买错&#xff09;引出了5v、gnd、tx、rx。可以说是非常方便了。下面正式开始我们的接入流程&#xff1a;首先注册一个机智…

PPC902AE101 3BHE010751R0101

PPC902AE101 3BHE010751R0101PPC902AE101 3BHE010751R0101PLC脉冲量的控制目的主要是位置控制、运动控制、轨迹控制等。例如&#xff1a;脉冲数在角度控制中的应用。步进电机驱动器的细分是每圈10000&#xff0c;要求步进电机旋转90度。 那么所要动作的脉冲数值10000/(360/90)2…

如果读了我2011年求职前端开发的酸爽经历,希望你可以鼓起勇气继续向前

今年是2023年&#xff0c;如果你觉得今年找工作很难&#xff0c;狗哥回忆了一下2011年求职前端开发工作的酸爽经历&#xff0c;希望你读了以后可以鼓起勇气&#xff0c;不要迷茫&#xff0c;简历投出去石沉大海的&#xff0c;需要改简历的就赶紧改&#xff0c;刷题不到位的就赶…

美国主机的CMS兼容性:如何选择适合您的CMS?

在如今的数字时代&#xff0c;网站是企业宣传和业务发展的重要方式&#xff0c;而一个好的主机对于网站的性能和稳定性至关重要。如果您正在寻找一个适合您的CMS(内容管理系统)的美国主机&#xff0c;您需要考虑一些关键因素&#xff0c;以确保您选择的主机能够满足您的需求。以…

接上篇《旋转矩阵的作用:世界坐标变换;求解局部坐标系下的局部坐标》,理解欧拉角:内旋;外旋;万向节死锁

目录1、什么是欧拉角、静态欧拉角、动态欧拉角2、内旋、外旋及计算方式3、万向节死锁接上篇《旋转矩阵的作用&#xff1a;世界坐标变换&#xff1b;求解局部坐标系下的局部坐标》&#xff0c;理解欧拉角&#xff1a;内旋&#xff1b;外旋&#xff1b;万向节死锁1、什么是欧拉角…

抢跑数字中国建设,青岛市统计系统考察团赴实在智能调研统计数字员工

当前&#xff0c;数据要素价值不断显现&#xff0c;数字经济正引领着政企业加快数字技术的应用&#xff0c;融通创新工作机制&#xff0c;推进高质量转型。近日&#xff0c;中共中央、国务院印发了《数字中国建设整体布局规划》。《规划》指出&#xff0c;到2025年&#xff0c;…

Rust 开发系列PyO3:Rust与Python的联动编程(上)

前言 Rust语言经常被人误认为是R语言&#xff0c;或者Ruby语言……但是做为近十年来tiobe最出人意料的编程语言&#xff0c;从冷门逐渐变成了明星&#xff0c;不过这次我们不讲Rust入门的内容&#xff0c;我们先来看看它一个很实用的功能——与Python的联动编程。 在正式开始之…

易优cms searchform 搜索标签使用方法

searchform 搜索标签 【基础用法】 标签&#xff1a;searchform 描述&#xff1a;文档标题搜索&#xff0c;默认搜索整站 用法&#xff1a; {eyou:searchform typesonself} <form method"get" action"{$field.action}"> <input …

僵尸(Zombie)进程

文章目录1.僵尸进程2.产生僵尸进程的原因3.利用 wait 函数销毁僵尸进程4.使用 waitpid 函数销毁僵尸进程1.僵尸进程 进程完成工作后&#xff08;执行完 main 函数中的程序后&#xff09;应被销毁&#xff0c;但有时这些进程将变成僵尸进程&#xff0c;占用系统中的重要资源。这…