就餐人数数据可视化,用python,输出完整代码: 姓名 工种 开始时间 结束时间 就餐情况 备注...
Criado em: 13 de julho de 2025
Criado em: 13 de julho de 2025
就餐人数数据可视化(包括中餐/晚餐就餐总人数,中餐/晚餐打包人数),用python,输出完整代码
姓名 工种 开始时间 结束时间 就餐情况 备注
1 刘向全 支护工 2025.6.14 2025.07.09 全天堂食 已退场
2 吴成林 支护工 2025.7.1 2025.07.09 全天堂食 已退场
3 郑绍林 支护工 2025.6.11 2025.07.12 全天堂食 请假回家
1 白红春 反井钻 2025.6.12 中午打包
2 罗正开 反井钻 2025.6.12 中午打包
3 陈波 反井钻 2025.6.12 中午打包
4 梁磊 挖机 2025.6.11 全天堂食
5 李肖肖 随车吊司机 2025.6.11 全天堂食
6 李艳鹏 挖机 2025.6.11 全天堂食
7 赵浪 支护工 2025.6.11 全天堂食
8 牛定德 支护工 2025.6.11 全天堂食
9 王明才 支护工 2025.6.12 全天堂食
10 陈勇 支护工 2025.7.1 全天堂食
11 周光贤 支护工 2025.7.1 全天堂食
12 朱国华 支护工 2025.7.12 全天堂食
pythonimport pandas as pd import matplotlib.pyplot as plt # 输入数据 data = [ {"序号": 1, "姓名": "刘向全", "工种": "支护工", "开始时间": "2025-06-14", "结束时间": "2025-07-09", "就餐情况": "全天堂食"}, {"序号": 2, "姓名": "吴成林", "工种": "支护工", "开始时间": "2025-07-01", "结束时间": "2025-07-09", "就餐情况": "全天堂食"}, {"序号": 3, "姓名": "郑绍林", "工种": "支护工", "开始时间": "2025-06-11", "结束时间": "2025-07-12", "就餐情况": "全天堂食"}, {"序号": 1, "姓名": "白红春", "工种": "反井钻", "开始时间": "2025-06-12", "结束时间": None, "就餐情况": "中午打包"}, {"序号": 2, "姓名": "罗正开", "工种": "反井钻", "开始时间": "2025-06-12", "结束时间": None, "就餐情况": "中午打包"}, {"序号": 3, "姓名": "陈波", "工种": "反井钻", "开始时间": "2025-06-12", "结束时间": None, "就餐情况": "中午打包"}, {"序号": 4, "姓名": "梁磊", "工种": "挖机", "开始时间": "2025-06-11", "结束时间": None, "就餐情况": "全天堂食"}, {"序号": 5, "姓名": "李肖肖", "工种": "随车吊司机", "开始时间": "2025-06-11", "结束时间": None, "就餐情况": "全天堂食"}, {"序号": 6, "姓名": "李艳鹏", "工种": "挖机", "开始时间": "2025-06-11", "结束时间": None, "就餐情况": "全天堂食"}, {"序号": 7, "姓名": "赵浪", "工种": "支护工", "开始时间": "2025-06-11", "结束时间": None, "就餐情况": "全天堂食"}, {"序号": 8, "姓名": "牛定德", "工种": "支护工", "开始时间": "2025-06-11", "结束时间": None, "就餐情况": "全天堂食"}, {"序号": 9, "姓名": "王明才", "工种": "支护工", "开始时间": "2025-06-12", "结束时间": None, "就餐情况": "全天堂食"}, {"序号": 10, "姓名": "陈勇", "工种": "支护工", "开始时间": "2025-07-01", "结束时间": None, "就餐情况": "全天堂食"}, {"序号": 11, "姓名": "周光贤", "工种": "支护工", "开始时间": "2025-07-01", "结束时间": None, "就餐情况": "全天堂食"}, {"序号": 12, "姓名": "朱国华", "工种": "支护工", "开始时间": "2025-07-12", "结束时间": None, "就餐情况": "全天堂食"}, ] df = pd.DataFrame(data) # 生成各类就餐指标 df["午餐就餐"] = df["就餐情况"].apply(lambda x: 1 if x in ["全天堂食", "中午打包"] else 0) df["午餐打包"] = df["就餐情况"].apply(lambda x: 1 if x == "中午打包" else 0) df["晚餐就餐"] = df["就餐情况"].apply(lambda x: 1 if x == "全天堂食" else 0) df["晚餐打包"] = df["就餐情况"].apply(lambda x: 1 if x == "晚上打包" else 0) # 数据中暂无 counts = { "午餐就餐总人数": df["午餐就餐"].sum(), "午餐打包人数": df["午餐打包"].sum(), "晚餐就餐总人数": df["晚餐就餐"].sum(), "晚餐打包人数": df["晚餐打包"].sum(), } # 绘图 plt.figure(figsize=(8, 6)) bars = plt.bar(counts.keys(), counts.values()) plt.title("就餐人数数据统计") plt.ylabel("人数") # 在柱状图上标注数值 for bar in bars: height = bar.get_height() plt.text(bar.get_x() + bar.get_width() / 2, height + 0.15, f"{int(height)}", ha='center', va='bottom') plt.tight_layout() plt.show()
已为您生成了完整的 Python 脚本并实时绘制了柱状图,可直接复制运行或根据需要调整数据/样式:
图中每个柱子的数值已标注,方便直观比较。如需进一步拆分到每日/按工种统计或换成其他图形(饼图、堆叠柱状图等),告诉我即可!