- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Python数据分析基础与应用
模块
PAGE2
PAGE21
模块5Pandas数据预处理
【应用与实战】
【任务5-1】药品销量数据预处理
【任务描述】
Excel文件“药品销售数据.xlsx”共有6578条药店的药品销售数据,该Excel文件共有7列有效数据,分别为:购买时间、社保卡号、商品编码、商品名称、销售数量、应收金额、实收金额,通过分析药品销售数据,看看医院那些药物购买者较多,那些天购药者较多等等。
本任务主要完成列名重命名、删除重复值、处理缺失值、转换数据类型、处理异常数据、按照销售时间对数据集进行排序并重置索引等数据预处理,数据导入与数据审阅详见模块4的【任务4-1】。
【任务实现】
在JupyterNotebook开发环境中创建t5-01.ipynb,然后在单元格中编写代码与输出对应的结果。
1.选择子集
在获取到的数据集中,据量非可能数常庞大,并不是每一列数据都有分析的价值,这时就需要从整个数据集中选取合适的子集进行分析,这样能从数据中获取最大价值。本任务中不需要选取子集,暂时可以忽略这一步。本任务分析Excel文件中的工作表Sheet1。
2.列名重命名
在数据分析过程中,有些列名和数据容易混淆或产生歧义,这不利于数据分析,这时可以采用rename()函数把列名换成容易理解的名称。
代码如下:
colNameDict={购药时间:销售时间}
inplace参数的默认值是False,表示数据集本身不会变,而会创建一个新的数据集;
若inplace=True,则数据集本身会变化
salesDf.rename(columns=colNameDict,inplace=True)
salesDf.head()
3.删除重复值
通过对比删除重复值前后数据,可以发现本数据集中没有重复值。
代码如下:
print(删除重复值前大小:,salesDf.shape)
salesDf=salesDf.drop_duplicates()
print(删除重复值后大小:,salesDf.shape)
输出结果如下:
删除重复值前大小:(6578,7)
删除重复值后大小:(6578,7)
4.统计缺失值并输出包含缺失值的行
获取的药品销售数据中很有可能存在缺失值,通过数据集的基本信息可以推测“销售时间”和“社保卡号”这两列存在缺失值,如果不处理这些缺失值会干扰后面的数据分析。
(1)统计缺失值
代码如下:
salesDf.isnull().sum()
输出结果如下:
销售时间2
社保卡号2
商品编码1
商品名称1
销售数量1
应收金额1
实收金额1
dtype:int64
(2)输出包含缺失值的行
代码如下:
salesDf[salesDf.isnull().T.any()]
输出结果如下:
5.处理缺失值
缺失值常用的处理方式为删除含有缺失值的记录或者填充缺失值。如果缺失值很少,可以直接将其删除;如果缺失值量较多,超过了总数据量的10%,要根据业务情况进行删除或填充。填充缺失值时,可以采用平均值、中位数进行填充;如果数据记录之间有明显的顺序关系,则可以采用附近相邻的数据进行填充。
(1)删除“销售时间”列有缺失值的行
代码如下:
salesDf1=salesDf.copy()
print(删除缺失值之前的大小:,salesDf1.shape)
salesDf1=salesDf1.dropna(axis=0,how=all)
salesDf1=salesDf1.dropna(subset=[销售时间],how=any)
print(删除缺失值之后的大小:,salesDf1.shape)
输出结果如下:
删除缺失值之前的大小:(6578,7)
删除缺失值之后的大小:(6576,7)
(2)查看“社保卡号”列有缺失值的行
代码如下:
salesDf1[salesDf1.isnull().T.any()]
(3)填充“社保卡号”列的缺失值
对“社保卡号”列的缺失值使用100000000进行填充。
代码如下:
salesDf1[社保卡号].fillna(100000000,inplace=True)
print(salesDf1.isnull().sum())
print(salesDf1.isnull().any())
输出结果如下:
销售时间0
社保卡号0
商品编码0
商品名称0
销售数量0
应收金额0
实收金额0
dtype:int64
销售时间False
社保卡号False
商品编码False
商品名称False
销售数量
您可能关注的文档
- Python数据分析基础与应用(微课版) 教案 模块7 应用与实战.docx
- Python数据分析基础与应用(微课版) 教案 模块9 应用与实战.docx
- Python数据分析基础与应用(微课版) 教案 模块8 应用与实战.docx
- Python数据分析基础与应用(微课版) 教案 模块6 应用与实战.docx
- Python数据分析基础与应用(微课版) 教案 模块4 应用与实战.docx
- Python数据分析基础与应用(微课版) 教案 模块1 认知数据分析与构建程序运行环境电子教案.docx
- Python数据分析基础与应用(微课版) 教案 模块1 应用与实战.docx
- Python数据分析基础与应用(微课版) 教案 模块3 数据分析应用NumPy.docx
- Python数据分析基础与应用(微课版) 教案 模块7 数据分析可视化展示.docx
- Python数据分析基础与应用(微课版) 教案 模块2 数据分析应用Python.docx
- Python数据分析基础与应用(微课版) 教案 模块4 Pandas数据结构应用与数据读写操作.docx
- Python数据分析基础与应用(微课版) 教案 模块5 Pandas数据预处理.docx
- Python数据分析基础与应用(微课版) 教案 模块3 应用与实战.docx
最近下载
- 初中英语《比较级和最高级》课件.pptx VIP
- 13、公路工程预算定额JTG-T B06-03-2007.doc VIP
- 微信公众号外包方案.docx VIP
- 2008年修电脑1400张照片连接.docx VIP
- 抽水试验报告-1.docx
- 可行性研究报告财务分析自动计算电子表格资料.xls VIP
- 方正证券-电子行业深度报告:光刻胶研究框架2.0,详解上游单体、树脂、光酸、光引发剂-220125.pdf VIP
- 2025年中国康复医疗产业市场前景分析与投资建议报告.docx
- 奶牛养殖场建设项目可行性实施报告可行性实施报告.docx
- 2025年中国共青团入团团员必知知识考试题与答案 .pdf VIP
文档评论(0)