实验二 pandas库绘图以及数据清洗

news2024/11/24 12:26:29

1.1pandas验证操作

1、验证以下代码,并将结果附截图

import pandas as pd

A=[1,3,6,4,9,10,15]

weight=[67,66,83,68,79,88]

sex=['女','男','男','女','男', '男']

S1=pd.Series(A)#构建S1序列

print(S1)

S2=pd.Series(weight)#构建S2序列

print(S2)

S3=pd.Series(sex)#构建S3序列

print(S3)

print(S3[1])#或print(S3.iloc[1]

print(S2[2])#或print(S2.iloc[2])

  1. 分别验证S2.loc[1]、S2[1]、S2.iloc[1],并附截图,说明序列变量.loc[i]、序列变量.iloc和序列变量[i]的作用

3、验证以下代码,并结果附截图

B=pd.concat([S2,S3],axis=0)

print(B)

S=pd.concat([S2,S3],axis=1)#按列合并序列,合并后为两列成为数据框

print(S)

print(S.loc[0])#第1行

print(S.iloc[0,:])#第1行

print(S[1])#第2列

print(S.iloc[:,1])#第2列

print(S.iloc[1,0])

print(S.loc[1,0])

print(S[0:3])

print(S.iloc[1:3,0:1])

X=[1,3,6,4,9,8,6]

X=pd.DataFrame(X)#由列表创建数据框

print(X)

print(X.loc[1])#默认索引为0,1,2,3,4,由索引号(下标)引用元素

print(X[0])

print(X.iloc[1,0])

4、验证以下代码,并将结果附截图

weight=[88,77,67,66,83,68,79]

df=pd.DataFrame(weight,columns=['weight'],index=['A','C','B','D','E','F','G'])

df

print(df.loc['A'])#用索引引用一个元素

print(df.iloc[0,:])

df['weight2']=df['weight']*2;df#增加数据框列

df['weight2']

df.iloc[:,1]

del df['weight2'];df#删除数据框列

df.sort_index()#按索引index排序

df.sort_values(by='weight')#按weight排序

5、验证以下代码,并将结果附截图

import pandas as pd

datacsv=pd.read_csv(r"exp_data\Bsdata.csv")

# Bsdata.csv文件是研究生开课信息调查表从2600名学生按2%抽样52名调查情况

#r表示当前路径,文件可以从超星下载

print(datacsv.head())

#用pandas读取csv文件实例

datacsv.info()#输出结构信息

h=list(datacsv.身高)

print(h)

print(datacsv.身高.max())

print(datacsv.身高.min())

print(datacsv.loc[1])

print(datacsv.iloc[1,0])

print(datacsv.iloc[1:3,2:3])

#(4)数据框维度

print(datacsv.shape)             #显示数据框的行数和列数

print(datacsv.shape[0])          #数据框行数

print(datacsv.shape[1])          #数据框列数

6、验证以下代码,并将结果附截图,销售流水记录tmp.csv文件可在超星上下载。

import pandas as pd

datacsv=pd.read_csv(r'销售流水记录tmp.csv')

print(len(datacsv))

datacsv.info()

datacsv.head()

7、验证以下代码,并将结果附截图。

datacsv = pd.read_csv(r'销售流水记录tmp.csv', index_col=[0,1],low_memory=False,encoding='gb18030')#读取指定列,1,2列为索引

datacsv.info()

8、验证以下代码,并将结果附截图。

datacsv = pd.read_csv(r'销售流水记录tmp.csv', usecols=["create_dt","order_id","sku_id","sku_name"], nrows=10)

datacsv.info()

datacsv.head(2)

datacsv.sku_name

9、验证以下代码,并将结果附截图,people.csv可在超星上下载。

import pandas as pd

datacsv=pd.read_csv(r'people.csv',names=["年度","Z","Z0_14","Z15_64","Z65_"],header=None,skiprows=1,index_col=0)#指定列标题

#"年度","Z","Z0_14","Z15_64","Z65_"为列标题,skiprows表示跳过第1行,index_col=0年度(第1列)作为时间序列索引,绘图作为x周

print(datacsv)

datacsv.columns.tolist()

10、利用people.csv文件验证以下代码,并将结果附截图

print(datacsv[datacsv['年度']>'2008'])#提取年度大于2008年的数据

print(datacsv[(datacsv['年度']>'2008')&(datacsv['年度']<'2018')])

#逻辑运算符与、或用&、|表示

2.1 pandas工具包绘图

pandas包学习网址User Guide — pandas 2.2.1 documentation

1、读取people.csv文件,指定列标题为"年度","Z","Z0_14","Z15_64","Z65_",利用pandas绘制年度与年末总人口折线图,并附截图,参考代码如下:

2、利用pandas绘制年度与年末总人口、0-14岁人口折线图,并附截图,参考代码如下:

3、利用pandas绘制年度与各年龄阶段人口变化折线对比图,并附截图,参考代码如下:

4、利用pandas绘制年度与各年龄阶段人口变化对比复式柱状图,并附截图,参考代码如下:

5、提取csv文件Bsdata.csv中的身高和体重,利用DataFrame.plot绘制折线图和散点图。

import matplotlib.pyplot as plt

import pandas as pd

plt.rcParams['font.family']=['STSong']#设置汉字字体

datacsv=pd.read_csv(r"Bsdata.csv")

datacsv["身高"].plot()#折线图

datacsv["体重"].plot(color="r")#折线图

datacsv.plot.scatter(x="身高",y="体重",color="r")#散点图

6、提取csv文件Bsdata.csv中的体重,利用DataFrame.plot绘制直方图。

datacsv["体重"].hist(color="r")

7、提取csv文件Bsdata.csv的开设情况,利用DataFrame.plot绘制开设统计分类柱状图。

T=datacsv.开设.value_counts()#针对分类数据或定性数据统计

T.plot(kind='bar')

实 验 结 果 及 分 析:

  1. 读取无人售货机数据

在商场不同地点安放了5台自动售货机,编号分别为A、B、C、D、E。数据1提供了从2017年1月1日至2017年12月31日每台自动售货机的商品销售数据,数据2提供了商品的分类。现在要对两个表格中的数据进行合并。

  1. 使用pandas中的read_csv函数分别读取数据。
  2. 使用pandas中的merge函数或者join方法进行数据合并
  3. 保存合并后的结果

  1. 对1中合并的数据进行数据校验、清洗,如重复值校验与处理、异常值校验与处理、缺失值校验与处理。对每一步的操作都做出说明分析。
  1. 查找重复记录并进行删除
  2. 查找异常数据,并在箱线图中绘制处理,最后对异常数据进行删除
  3. 查找缺失值并进行处理(删除、填充等)。
  4. 保存处理后的数据

 

  1. 针对数据1
  1. 绘制出每个月的订单量的柱状图,用pandas进行绘图展示(要求添加标题、X轴和Y轴名称)

 

  1. 绘制出每个月的销售额变化情况折线图,用pandas进行绘图展示(要求添加标题、X轴和Y轴名称)

 

  1. 绘制出A类自动售货机中商品名称为”怡宝纯净水”的商品,12个月中每个月的订单量饼图,用pandas进行绘图展示(要求添加标题、饼图按照订单量进行排序展示)

 

  1. 对五类自动售货机的实付金额数据,分别绘制出箱线图。

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

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

相关文章

第3章.引导ChatGPT精准角色扮演:高效输出专业内容

角色提示技术 角色提示技术&#xff08;role prompting technique&#xff09;&#xff0c;是通过模型扮演特定角色来产出文本的一种方法。用户为模型设定一个明确的角色&#xff0c;它就能更精准地生成符合特定上下文或听众需求的内容。 比如&#xff0c;想生成客户服务的回复…

STM32的DMA

DMA(Direct memory access)直接存储器存取,用来提供在外设和存储器之间或者存储 器和存储器之间的高速数据传输&#xff0c;无须CPU干预&#xff0c;数据可以通过DMA快速地移动&#xff0c;这就节 省了CPU的资源来做其他操作。 STM32有两个DMA控制器共12个通道(DMA1有7个通道…

(八)目标跟踪中参数估计(似然、贝叶斯估计)理论知识

目录 前言 一、统计学基础知识 &#xff08;一&#xff09;随机变量 &#xff08;二&#xff09;全概率公式 &#xff08;三&#xff09;高斯分布及其性质 二、似然是什么&#xff1f; &#xff08;一&#xff09;概率和似然 &#xff08;二&#xff09;极大似然估计 …

Linux内核之Binder驱动container_of进阶用法(三十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

EasyRecovery2024汉化精简版,无需注册

EasyRecovery2024是世界著名数据恢复公司 Ontrack 的技术杰作&#xff0c;它是一个威力非常强大的硬盘数据恢复软件。能够帮你恢复丢失的数据以及重建文件系统。 EasyRecovery不会向你的原始驱动器写入任何东东&#xff0c;它主要是在内存中重建文件分区表使数据能够安全地传输…

ctfshow web入门 XXE

XXE基础知识 XXE&#xff08;XML External Entity&#xff09;攻击是一种针对XML处理漏洞的网络安全攻击手段。攻击者利用应用程序在解析XML输入时的漏洞&#xff0c;构造恶意的XML数据&#xff0c;进而实现各种恶意目的。 所以要学习xxe就需要了解xml xml相关&#xff1a; …

Chrome浏览器 安装Vue插件vue-devtools

前言 vue-devtools 是一个为 Vue.js 开发者设计的 Chrome 插件。它可以让你更轻松地审查和调试 Vue 应用程序。与普通的浏览器控制台工具不同&#xff0c;Vue.js devtools 专为 Vue 的响应性数据和组件结构量身定做。 1. 功能介绍 组件树浏览&#xff1a;这个功能可以让你查…

使用Python实现ID3决策树中特征选择的先后顺序,字节跳动面试真题

def empty1(pri_data): hair [] #[‘长’, ‘短’, ‘短’, ‘长’, ‘短’, ‘短’, ‘长’, ‘长’] voice [] #[‘粗’, ‘粗’, ‘粗’, ‘细’, ‘细’, ‘粗’, ‘粗’, ‘粗’] sex [] #[‘男’, ‘男’, ‘男’, ‘女’, ‘女’, ‘女’, ‘女’, ‘女’] for o…

OpenHarmony error: signature verification failed due to not trusted app source

问题&#xff1a;error: signature verification failed due to not trusted app source 今天在做OpenHarmony App开发&#xff0c;之前一直用的设备A在测试开效果&#xff0c;今天换成了设备B&#xff0c;通过DevEco Studio安装应用程序的时候&#xff0c;就出现错误&#xf…

爱上数据结构:栈和队列的概念及使用

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;数据结构 ​ 一、栈 1.栈的基本概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶&#xff0c;…

不同Python版本和wxPython版本用pyinstaller打包文件大小对比

1、确定wxPython和Python版本的对应关系 在这里可以找到Python支持的所有wxPython版本&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple/wxpython/ 由于Python从3.6版本开始支持f字符串、从3.9版本开始不支持Windows7操作系统&#xff0c;所以我仅筛选3.6-3.8之间的版本…

qupath再度更新:使用WSInfer进行深度学习

Open and reusable deep learning for pathology with WSInfer and QuPath Open and reusable deep learning for pathology with WSInfer and QuPath | npj Precision Oncology (nature.com) 以前&#xff1a;数字病理图像分析的开源软件qupath学习 ①-CSDN博客 背景 深度学…

HarmonyOS实战开发-如何实现一个自定义抽奖圆形转盘

介绍 本篇Codelab是基于画布组件、显式动画&#xff0c;实现的一个自定义抽奖圆形转盘。包含如下功能&#xff1a; 通过画布组件Canvas&#xff0c;画出抽奖圆形转盘。通过显式动画启动抽奖功能。通过自定义弹窗弹出抽中的奖品。 相关概念 Stack组件&#xff1a;堆叠容器&am…

统计XML文件内标签的种类和其数量及将xml格式转换为yolov5所需的txt格式

1、统计XML文件内标签的种类和其数量 对于自己标注的数据集&#xff0c;需在标注完成后需要对标注好的XML文件校验&#xff0c;下面是代码&#xff0c;只需将SrcDir换成需要统计的xml的文件夹即可。 import os from tqdm import tqdm import xml.dom.minidomdef ReadXml(File…

Day62-Nginx四层负载均衡及结合7层负载均衡实践

Day62-Nginx四层负载均衡及结合7层负载均衡实践 1. 什么是四层负载均衡&#xff1f;2. 四层负载均衡的常用场景3. 百万并发百亿PV大规模架构4. L4和L7的区别及常用软件。5. lvs、nginx、haproxy区别6. nginx四层负载均衡&#xff08;tcp/ip&#xff0c;ip:port&#xff09;7. n…

python多方式操作elasticsearch介绍

python多方式操作elasticsearch介绍 1. requests模块操作ES ​ requests 是一个 Python HTTP 库&#xff0c;它简化了发送 HTTP 请求和处理响应的过程。通过 requests 模块&#xff0c;开发人员可以轻松地与 Web 服务进行通信&#xff0c;包括获取网页内容、执行 API 请求等。…

JavaScript(一)---【js的两种导入方式、全局作用域、函数作用域、块作用域】

一.JavaScript介绍 1.1什么是JavaScript JavaScript简称“js”&#xff0c;js与java没有任何关系。 js是一种“轻量级、解释型、面向对象的脚本语言”。 二.JavaScript的两种导入方式 2.1内联式 在HTML文档中使用<script>标签直接引用。 <script>console.log…

跨越时空,启迪智慧:奇趣相机重塑儿童摄影与教育体验

【科技观察】近期&#xff0c;奇趣未来公司以其创新之作——“奇趣相机”微信小程序&#xff0c;强势进军儿童AI摄影市场。这款专为亚洲儿童量身定制的应用&#xff0c;凭借精准贴合亚洲儿童面部特征的AIGC大模型&#xff0c;以及丰富的摄影模板与场景设定&#xff0c;正在重新…

【每日跟读】常用英语500句(400~500)

【每日跟读】常用英语500句 Where can I buy a ticket? 在哪里能买到票&#xff1f; When is the next train? 下趟火车什么时候到&#xff1f; Thank you so much for helping me move yesterday. 非常感谢你昨天帮我搬家 I’m feeling a little under the weather toda…

与webpack类似的工具还有哪些?区别?

文章目录 一、模块化工具二、详细对比RollupParcelSnowpackVitewebpack 参考文献 一、模块化工具 模块化是一种处理复杂系统分解为更好的可管理模块的方式 可以用来分割&#xff0c;组织和打包应用。每个模块完成一个特定的子功能&#xff0c;所有的模块按某种方法组装起来&a…