Excel数据合并到统计分析自动处理的python示例(精益办公实战1)

1、背景描述:

社会的发展不断深化了经济对科技和数字化的依赖,企业将不得不面对越来越多,甚至是海量的数据和信息。Excel(或类似软件WPS)是当前绝大多数企业首选的办公软件,毕竟能操作编程界面进行数据分析的白领是少数,而使用Excel文件更利于企业的内部沟通。因此,如何既节约人工时间又能快速应用Excel处理分析数据,获取对业务有价值有影响的结果,是很多企业在提升竞争力(精益办公室)和数据价值所面临的关键问题。本文借用工业制造的案例,完整陈述从合并多个数据记录表到完成分类统计(数据基础分析)的自动处理过程,并将所有结果都以xlsx文件形式(Excel文件)保存下来,利于企业其他人员(非编程员工)的查看和应用。其中的关键代码和方法,可以使用到各种行业和场景,如商业分析、订单分析、净重分析、产品分析、人力资源,旅游线路等等。

2、数据准备和任务要求:

数据介绍:
2个文件6个表格收集的产品蛋白质和固形物测量结果

任务要求:

  1. 将2个文件中的6张数据表格进行合并,自动生成新的xlsx文件
  2. 对合并后的数据自动进行数据清洗和检查,删除无效的数据和冗余数据(重复值)
  3. 根据产品名称对2种测量指标分别进行自动的统计分析:取样次数、平均值、标准偏差、最大值、最小值、极差等
  4. 将所有的统计信息转换并自动生成xlsx文件

3、方法步骤:

3.1 数据的快速合并

  1. 收集数据源文件夹中的数据文件名称(workbook_names)
  2. 建立新的数据汇总文件 – 用于收集并保存所有的数据
  3. 打开并读取Excel文件,收集每个数据文件中的表格名称(sheet_names)
  4. 按表格将数据转换为dataframe,并汇总在一起
  5. 将dataframe转换为Excel文件(便于其他人查看和使用)

3.2 数据的探索和清洗

  1. 读取Excel文件的数据并转换为dataframe
  2. 查看数据集的整体状态,了解基本特征列的情况
  3. 删除无效的数据列
  4. 查看数据集的整体信息,了解缺失值的分布情况
  5. 检看数据集中缺失值的状态并删除缺失值
  6. 检查数据集中重复值的状态并删除重复值

3.3 数据的统计分析

  1. 建立根据任务要求分别统计蛋白质和固形物的自定义函数(方法)
  2. 关键参数的赋值
  3. 实现根据产品名称分别对蛋白质和固形物进行统计
  4. 将两种统计结果汇总在一起,写入Excel文件中并保存

4. 示例代码

4.1 数据的快速合并

# 1. 收集数据源文件夹中的数据文件名称(workbook_name)
file_dir = "d:/test/test_data"
file_list = os.listdir(file_dir)
print("合并的文件包括:", file_list)# 2. 建立新的数据汇总文件 -- 用于收集并保存所有的数据
new_file = "d:/test/Summary/Data_Summary.xlsx"
new_list = []
sheet_num = 0# 3. 打开并读取Excel文件,收集每个数据文件中的表格名称(sheet_names)
for file in file_list:file_path = os.path.join(file_dir, file)wb = openpyxl.load_workbook(file_path)sheet_names = wb.sheetnamessheet_num += len(sheet_names)# 4. 按表格将数据转换位dataframe, 并汇总在一起for sn in sheet_names:dataframe = pd.read_excel(file_path, sheet_name=sn, header=0)new_list.append(dataframe)# 5. 将dataframe转为Excel
df = pd.concat(new_list)
df.to_excel(new_file, sheet_name="Data")# 6. 检查数据汇总的结果:
print("合并的表格数量:", sheet_num)
print("数据的汇总表格已经产生,请检查!")


数据汇总表格的结果:

4.2 数据清洗和探索

# 1.读取Excel文件的数据并转换为dataframe
file = "d:/test/Summary/Data_Summary.xlsx"
data_raw = pd.read_excel(file, header=0, index_col=0)    # header设定为0:是为了使第1行的数据成为列的字段名
# 2.查看数据集的整体信息,了解基本特征列的情况
data_raw.head()


小结:数据集中含有无效数据列–序号,没有分析价值,应删除

# 3.删除无用的数据列:序号列
remove_col = ["序号"]
data_prep0 = data_raw.drop(columns=remove_col, axis=1, inplace=None)
data_prep0.head()


小结:无效数据列–序号已被删除

# 4. 查看数据集的整体信息,了解缺失值的分布情况
data_prep0.info()


小结:产品列中含有4个空值,这些记录为无效记录,应删除

# 5. 查看数据集中缺失值的状态并删除缺失值
data_prep = data_prep0.dropna(subset=["产品"], axis=0)
data_prep.info()


小结:含缺失值记录已经被删除

# 6. 查看数据集中重复值的状态并删除重复值
print("数据集中的重复值数量:", np.sum(data_prep.duplicated()))
# 如果重复值的数量不为"0", 则表示有重复值存在,可使用下列代码删除
# data_prep.drop_duplicates(keep="first", inplace=True)


至此:数据集的探索和清洁已经完成,干净的数据集可用于数据分析

4.3 数据的基础统计分析

# 1.建立根据任务要求分别统计蛋白质和固形物的自定义函数(方法)
def prod_describe(data, classify, category, remove_col):desc = data.groupby([classify])[category].describe()desc.drop(columns=remove_col, axis=1, inplace=True)# Range(极差) = max - mindesc["极差"] = desc["max"] - desc["min"]# 更新统计数据的列名称(英文--》中文)desc = desc.rename(columns={"count": "样品数量","mean": "平均值","std": "标准偏差","min": "最小值","max": "最大值"})desc = desc.sort_values(by=["样品数量"], axis=0, ascending=False)return desc# 由于报告不需要分位数的统计量,故删除这些字段[25%, 50%, 70%]
remove_col = ["25%", "50%", "75%"]# 2.关键参数的赋值
classify = "产品"
category1 = "蛋白质"
category2 = "固形物"
data = data_prep.copy()# 3.实现根据产品名称分别对蛋白质和固形物进行统计
category1_desc = prod_describe(data, classify, category1, remove_col)
category2_desc = prod_describe(data, classify, category2, remove_col)# 4.将两种统计结果汇总在一起,写入Excel文件中并保存
result = pd.concat([category1_desc, category2_desc], axis=1, keys=[category1, category2])
file = "d:/test/Summary/Data_Statistics.xlsx"
result.to_excel(file, sheet_name="Statistics")
print("已经全部完成,请检查!")


3个新文件已分别自动生成,打开文件“Data_Statistics.xlsx”,就能获取统计分析结果,任务达成!

结束语

当前很多企业的办公室白领每天都要花费不少时间在做一些重复性的数据信息合并和转移等处理工作,这是一种极大的人员能力浪费。因此,使用一些自动数据处理的方法将很好地把这些接受过高等教育的白领从简单而重复的”copy-paste"中解放出来,使他们更专注于自身领域的高阶决策分析和细致的实际执行,体现更高的个人价值并为企业提供更好更专业的服务!

(注:数据的统计分析、数据挖掘、数据图示化处理等部分由于受限于博文篇幅,将在另一篇博文中展示)

Excel数据合并到统计分析自动处理的python示例(精益办公实战1)相关推荐

  1. Excel 数据的统计分析及绘图自动处理的python示例(精益办公实战2)

    Excel 数据统计分析及绘图的自动处理python示例(精益办公实战2) 1.背景描述: "看数不如看表,看表不如看图" 2.数据准备和任务要求: 数据准备 一份已经经过数据清洗 ...

  2. Excel数据合并(追加写入)

    Excel数据合并(追加写入) 数据合并 两表合并 只用pandas包实现 用xlrd包实现 普通的文件读写 总结 多表数据合并 数据合并 两表合并 已知a c两个都含有数据的xlsx文件要求:将a文 ...

  3. 将文件夹内多个子文件里的Excel数据合并到一个文件,保存为CSV格式

    将文件夹内多个子文件里的Excel数据合并到一个文件,保存为CSV格式 使用条件: Excel文件必须是xlsx格式,且数据结构一致,方可用以下代码. # 第一步 导入模块 import pandas ...

  4. python将excel数据合并_Python语言之Python合并多个Excel数据

    本文主要向大家介绍了Python语言之Python合并多个Excel数据,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 安装模块 1.找到对应的模块 http://www.pyt ...

  5. 用python处理excel数据做函数_如何使用python通过函数式编程完成excel中的数据处理及分析工作...

    Excel是数据分析中最常用的工具,本篇文章通过python与excel的功能对比介绍如何使用python通过函数式编程完成excel中的数据处理及分析工作.在Python中pandas库用于数据处理 ...

  6. python绘制动态图表怎么存下来_用python如何实现导入excel数据后自动生成图表?python如何实现交互式动态图表?...

    这个需求涉及的环节太多了.导入excel文件,获取数据 -- 需要xlrd模块把数据导入python 2. 设定输出图表类型 -- 需要matplot模块.根据数据复杂度,可能需要ETL,那么需要pa ...

  7. python提取excel数据-代码详解:使用Python从不同表格中提取数据

    常用的表格数据存储文件格式--CSV,Microsoft Excel,Google Excel . Python通常称为粘合语言.这个名称归因于人们逐渐开发出的大量接口库和特征,也得益于广泛的使用和良 ...

  8. 使用openpyxl进行多个excel数据合并

    处理excel文件时找了好久没找到有多个文件数据合并,直接复制粘贴又显示必须粘贴在第一行,罢了,代码解决一切不可能 from openpyxl import load_workbookwb1 = lo ...

  9. python将excel数据合并_在Excel中使用Python将每日数据合并为月度数据

    我想弄清楚如何将每天的日期组合成特定的月份,并将特定月份内每一天的数据相加.在 注意:我有一个巨大的列表,上面有每天的日期,但是我在这里放了一个小样本来简单地举例说明.在 文件名:(测试.xlsx)在 ...

最新文章

  1. 在不重装系统的情况下撤底删除oracle数据库及oralce的相关软件
  2. 前端知识点总结——JS高级(持续更新中)
  3. C++word break断字(基于单词或字符串)(附完整源码)
  4. linux block设备,Linux I/O Block--块设备的表示
  5. 只有20行Javascript代码!手把手教你写一个页面模板引擎
  6. linux 14.04安装qt5.9,Ubuntu20.04安装Qt5.9.9+Qt creator
  7. Android 对应的xml配置值,颜色表
  8. 洛谷 P4392 Sound 静音问题
  9. 雷云3编辑使用宏鼠标连点
  10. html5使用mescroll
  11. 图解机器学习算法(14) | PCA降维算法详解(机器学习通关指南·完结)
  12. 腾讯电脑管家修复代理服务器,腾讯QQ电脑管家LSP修复在哪
  13. u盘中的android文件夹图标不显示,怎么解决u盘图标变成文件夹,手把手教你解决方法...
  14. edm邮件直投_EDM邮件直投专家V3.8.5官方版下载 - 下载吧
  15. 用C语言画一个Q版奥特曼
  16. 详解TP-Link路由器设置(图解)
  17. 运动耳机怎么选,盘点目前适合运动的几款耳机
  18. 《计算之魂》思考题4.4
  19. 雨松MOMO 之 开始学习搭建界面自适应屏幕(一)
  20. 干货!基于层次适应的零样本学习

热门文章

  1. Mac系统中移动硬盘热拔(强制退出)后,在插上不显示移动硬盘的问题和解决办法
  2. 如何在Google表格中直接使用Google翻译
  3. 转----一个图形爱好者的书架.-也来介绍一下我的藏书.
  4. 短视频app源码开发,短视频录制的实现
  5. 阿里云免费SSL证书申请详细流程
  6. 一个简单的全排列算法
  7. Leo第一次练习跆拳道--Leo与跆拳道 1
  8. enumerate()函数详解
  9. Graphpad,经典绘图工具初学初探
  10. NET新手遭遇问题(九)