当前位置: 首页 > news >正文

【Excel数据分析】花垣县事业单位出成绩了,用Excel自带的M语言做一个数据分析

这里写自定义目录标题

  • 花垣县事业单位出成绩了,用Excel自带的M语言做一个数据分析
    • 需求

花垣县事业单位出成绩了,用Excel自带的M语言做一个数据分析

Power Query M 语言,简称 M 语言,全名叫 Power Query Formula Language。

需求

有人说这次考试太难了,难度堪比国考,那我们就来做一个数据分析看看到底怎么个事:

  1. 我们将根据所说这次难的人考试内容和分数进行分析,考的是笔试科目是“公共基础知识+职业能力倾向测验”

  2. 那么我就在岗位计划表里筛选出这个笔试科目的在这里插入图片描述

  3. 找到岗位代码 例如B1,B2等;

  4. 再到笔试成绩表里找到“报考岗位”这一列,是在文字中
    夹着有岗位代码的。这2个表我已经上传到附件zip里了。 在这里插入图片描述在这里插入图片描述

  5. 到这里,不难想到,到成绩表里去筛选,在报考岗位这列找到对应岗位代码B1,B2等就知道考笔试科目是“公共基础知识+职业能力倾向测验”的人数有多少了;

  6. 但是,到这里我发现我不会了
    在这里插入图片描述
    在这里插入图片描述
    这里的包含只能选2个啊,我除了B1,B2还有别的没选上呢?这咋搞?
    真把我难住了。

一下子查资料也没查到,还是写代码吧。一开始想用Python写的。后面写出来了:

import pandas as pdplan_file = r'D:\Temp\岗位计划表.xlsx'
score_file = r'D:\Temp\成绩表.xlsx'# 读取Excel文件
df = pd.read_excel(plan_file, header=2)# 假设“笔试科目”这一列的列名为“笔试科目”,如果实际列名不同请修改
filtered_df = df[df['笔试科目'] == '''公共基础知识+
职业能力倾向测验''']# 输出筛选结果
print(filtered_df)
# 取B列(第2列)所有非空数据作为查询条件
col_b_name = filtered_df.columns[1]  # 第2列列名
query_list = filtered_df[col_b_name].dropna().astype(str).tolist()# 读取成绩表,从第2行开始(header=1表示第2行为表头)
score_df = pd.read_excel(score_file, header=1)# 假设报考岗位那一列叫“报考岗位”,如实际不是请替换
apply_col = '报考岗位'# 用循环和条件判断筛选
result_rows = []
for idx, row in score_df.iterrows():post = str(row[apply_col])for q in query_list:if q in post:result_rows.append(row)break  # 匹配到一个就可以了# 构建新的DataFrame
filtered_score_df = pd.DataFrame(result_rows)
print(filtered_score_df)# 如果需要保存结果
filtered_score_df.to_excel(r'D:\Temp\成绩表_筛选结果.xlsx', index=False)
# 如需保存筛选后的数据到新文件,可取消注释下一行
# filtered_df.to_excel(r"D:\Temp\岗位计划表_筛选结果.xlsx", index=False)

但这不是今天的重点,我要说的事Excel的M语言
在这里插入图片描述
入口在这里。
在这里插入图片描述
在这里插入图片描述
代码如下:

letGwjh_Source = Excel.Workbook(File.Contents("D:\Temp\岗位计划表.xlsx"), null, true),Cj_Source = Excel.Workbook(File.Contents("D:\Temp\成绩表.xlsx"), null, true),Gwjh_SelectedSheet = Gwjh_Source{[Item="岗位计划表",Kind="Sheet"]}[Data],Cj_SelectedSheet = Cj_Source{[Item="成绩表",Kind="Sheet"]}[Data],// 岗位计划表处理SkippedRows = Table.Skip(Gwjh_SelectedSheet, 2),PromotedHeaders = Table.PromoteHeaders(SkippedRows, [PromoteAllScalars=true]),FilteredRows = Table.SelectRows(PromotedHeaders, each [笔试科目] = "公共基础知识+#(lf)职业能力倾向测验"),GWDM_Name = Table.ColumnNames(FilteredRows){1},GWDM_List = Table.Column(FilteredRows, GWDM_Name),// 成绩表也要跳过前1行说明(假设字段在第2行,实际以你的Excel为准)Cj_SkippedRows = Table.Skip(Cj_SelectedSheet, 1),Cj_PromotedHeaders = Table.PromoteHeaders(Cj_SkippedRows, [PromoteAllScalars=true]),// 筛选报考岗位在GWDM_List中的行Cj_FilteredRows = Table.SelectRows(Cj_PromotedHeaders,each List.AnyTrue(List.Transform(GWDM_List, (x) => Text.Contains(Text.From([报考岗位]), Text.From(x)))))
inCj_FilteredRows

在这里插入图片描述
写完选择这个关闭并上载就可以多出来一个Sheet1,就是结果了,还可以在有侧边栏看到。在这里插入图片描述
数据分析结果:
这次花垣事业单位,笔试考公基+职测的有2336人,60分以上的有647人,65分以上的有285人,70分以上的有79人。

三、招聘计划

(一)人才引进计划

本次计划公开引进高层次急需紧缺专业人才20名,其中高层次人才岗位12名(A类岗位),急需紧缺专业人才岗位8名(B类岗位)(详见附件1)

(二)事业单位公开招聘计划

本次计划公开招聘事业单位工作人员105名(C类岗位)(详见附件1)
http://www.huayuan.gov.cn/zwgk_23240/xzfxxgkml_23243/rsxx_23252/zkxx_23254/202505/t20250522_2257743.html

好像也不是很难。

Excel用得不太溜,不知道还有没有更好的方式,可以交流一下。

http://www.lqws.cn/news/534583.html

相关文章:

  • 45. 跳跃游戏 II
  • uniapp 和原生插件交互
  • Sentinel 授权规则详解与自定义异常处理
  • Tailwind CSS 尺寸控制
  • c++多线程编程
  • 《聊一聊ZXDoc》之汽车标定、台架标定、三高标定
  • 基于定制开发开源AI智能名片S2B2C商城小程序源码的H5游戏开发模式创新研究
  • 从零开始的云计算生活——第二十四天,重起航帆,初见MySQL数据库
  • 智能体决策框架对决:ReAct极速响应 vs Plan-and-Execute稳控全局
  • 【全志V821_FoxPi】3-2 Linux 5.4 SPI + XPT2046触摸(ADS7846) + tslib
  • SQL SERVER存储过程
  • 分享一些实用的PHP函数(对比js/ts实现)
  • VIVADO设定寄存器/存储器的初始值
  • 深入解析与修复 Linux 中的种种依赖项错误:Dependencies packages error solution
  • 【UniApp 日期选择器实现与样式优化实践】
  • 03.图生图基础工作流|提示词自动化|存储节点预设|提示词风格化
  • 以太网基础与 VLAN 配置实验
  • Vue3中的watch详解:掌握响应式侦听的艺术
  • 本地部署开源时间跟踪工具 Kimai 并实现外部访问( Windows 版本)
  • springboot集成mqtt收发消息
  • python + opencv实现简单的文字水印
  • 【LLM论文阅读】
  • 如果你在为理解RDA、PCA 和 PCoA而烦恼,不妨来看看丨TomatoSCI分析日记
  • [Andrej Karpathy] 大型语言模型作为新型操作系统
  • vue3 json 转 实体
  • 2D 基准情况下贝叶斯优化应用的概率推理
  • Ubuntu下布署mediasoup-demo
  • zabbix监控Centos 服务器
  • 波动方程能量守恒证明
  • dockers virbox 安装