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. Science | 基于算法设计疫苗的人工蛋白
  2. MySQL数据库备份命令
  3. element-ui中el-tree树形控件-树节点的选择(选中当前节点,获取当前id并且获取其父级id)...
  4. ChipScope Pro分析仪
  5. 注意力不集中的判断标准
  6. C# json解析字符串总是多出双引号_Python小白必备知识:Python字符串详解
  7. REM重复制造的冲销
  8. [No0000B0]ReSharper操作指南1/16-入门与简介
  9. session和cookie的最深刻理解
  10. Android ListView中 每一项都有不同的布局
  11. 2021-2025年中国一次性马桶马桶座套行业市场供需与战略研究报告
  12. Oracle PLSQL工具登陆界面:连接库选项没有本地数据库名可选 解决方法
  13. EIGRP passive-interface
  14. c语言图书管理系统出现的问题,C语言图书管理系统中的问题
  15. 怎么用手机当电脑摄像头?安卓苹果都可以,巨简单的N种方案任君挑选
  16. Python爬取图片之家
  17. usage.txt-2
  18. Firefox中about:config配置大全
  19. 《CSDN排行榜冲榜攻略》妙用Emoji表情符号读者提升阅读体验(编码表)
  20. Mixed Precision Training混合精度训练笔记及框架代码

热门文章

  1. 微软客服的痛苦-还敢应聘微软客服
  2. NPDP产品经理小知识:端到端的流程建设与跨职能团队管理
  3. HTML--图片的插入
  4. Linux里get命令,Linux apt-get 命令用法详解-Linux命令大全(手册)
  5. 人民币升值破七 香港物价上涨发工资改用人民币
  6. EasyExcel生成多个excel.xlsx进行压缩导出
  7. 摩根大通提交分散式虚拟收据系统新专利
  8. 有什么好的降噪蓝牙耳机推荐,公认好用的降噪蓝牙耳机分享
  9. 如何查看支付宝商户ID(支付宝pid)?
  10. 《痞子衡嵌入式半月刊》 第 31 期