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

校园供水系统智能管理

import pandas as pd
data1=pd.read_excel("C://Users//JJH//Desktop//E//附件_一季度.xlsx")
data2=pd.read_excel("C://Users//JJH//Desktop//E//附件_二季度.xlsx")
data3=pd.read_excel("C://Users//JJH//Desktop//E//附件_三季度.xlsx")
data4=pd.read_excel("C://Users//JJH//Desktop//E//附件_四季度.xlsx")
data1
水表名水表号采集时间上次读数当前读数用量
0司法鉴定中心02019/1/1 00:15:002157.12157.10.0
1司法鉴定中心02019/1/1 00:30:002157.12157.10.0
2司法鉴定中心02019/1/1 00:45:002157.12157.10.0
3司法鉴定中心02019/1/1 01:00:002157.12157.10.0
4司法鉴定中心02019/1/1 01:15:002157.12157.10.0
.....................
729278物业30301001022019/3/31 22:45:0050.950.90.0
729279物业30301001022019/3/31 23:00:0050.950.90.0
729280物业30301001022019/3/31 23:15:0050.950.90.0
729281物业30301001022019/3/31 23:30:0050.950.90.0
729282物业30301001022019/3/31 23:45:0050.950.90.0

729283 rows × 6 columns

data1.isnull().sum()
水表名     0
水表号     0
采集时间    0
上次读数    0
当前读数    0
用量      0
dtype: int64
data2.isnull().sum()
水表名     0
水表号     0
采集时间    0
上次读数    0
当前读数    0
用量      0
dtype: int64
data3.isnull().sum()
水表名     0
水表号     0
采集时间    0
上次读数    0
当前读数    0
用量      0
dtype: int64
data4.isnull().sum()
水表名     0
水表号     0
采集时间    0
上次读数    0
当前读数    0
用量      0
dtype: int64
import numpy as np
# 合并数据
data1['季度'] = pd.Series(["一季度" for i in range(len(data1.index))])
data2['季度'] = pd.Series(["二季度" for i in range(len(data2.index))])
data3['季度'] = pd.Series(["三季度" for i in range(len(data3.index))])
data4['季度'] = pd.Series(["四季度" for i in range(len(data4.index))])
data1
水表名水表号采集时间上次读数当前读数用量季度
0司法鉴定中心02019/1/1 00:15:002157.12157.10.0一季度
1司法鉴定中心02019/1/1 00:30:002157.12157.10.0一季度
2司法鉴定中心02019/1/1 00:45:002157.12157.10.0一季度
3司法鉴定中心02019/1/1 01:00:002157.12157.10.0一季度
4司法鉴定中心02019/1/1 01:15:002157.12157.10.0一季度
........................
729278物业30301001022019/3/31 22:45:0050.950.90.0一季度
729279物业30301001022019/3/31 23:00:0050.950.90.0一季度
729280物业30301001022019/3/31 23:15:0050.950.90.0一季度
729281物业30301001022019/3/31 23:30:0050.950.90.0一季度
729282物业30301001022019/3/31 23:45:0050.950.90.0一季度

729283 rows × 7 columns

data = data1.append([data2,data3,data4],ignore_index=True) # 添加合并
data
C:\Users\JJH\AppData\Local\Temp\ipykernel_31264\4019438690.py:1: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.data = data1.append([data2,data3,data4],ignore_index=True) # 添加合并
水表名水表号采集时间上次读数当前读数用量季度
0司法鉴定中心02019/1/1 00:15:002157.12157.10.0一季度
1司法鉴定中心02019/1/1 00:30:002157.12157.10.0一季度
2司法鉴定中心02019/1/1 00:45:002157.12157.10.0一季度
3司法鉴定中心02019/1/1 01:00:002157.12157.10.0一季度
4司法鉴定中心02019/1/1 01:15:002157.12157.10.0一季度
........................
3086783消防36203032002019/12/31 22:45:0022.022.00.0四季度
3086784消防36203032002019/12/31 23:00:0022.022.00.0四季度
3086785消防36203032002019/12/31 23:15:0022.022.00.0四季度
3086786消防36203032002019/12/31 23:30:0022.022.00.0四季度
3086787消防36203032002019/12/31 23:45:0022.022.00.0四季度

3086788 rows × 7 columns

x=data[['水表名','用量','采集时间']]
x
水表名用量采集时间
0司法鉴定中心0.02019/1/1 00:15:00
1司法鉴定中心0.02019/1/1 00:30:00
2司法鉴定中心0.02019/1/1 00:45:00
3司法鉴定中心0.02019/1/1 01:00:00
4司法鉴定中心0.02019/1/1 01:15:00
............
3086783消防0.02019/12/31 22:45:00
3086784消防0.02019/12/31 23:00:00
3086785消防0.02019/12/31 23:15:00
3086786消防0.02019/12/31 23:30:00
3086787消防0.02019/12/31 23:45:00

3086788 rows × 3 columns

x1=x[x['水表名']=='消防']
x1
水表名用量采集时间
1500912消防0.02019/4/22 12:15:00
1500913消防0.02019/4/22 12:30:00
1500914消防0.02019/4/22 12:45:00
1500915消防0.02019/4/22 13:00:00
1500916消防0.02019/4/22 13:15:00
............
3086783消防0.02019/12/31 22:45:00
3086784消防0.02019/12/31 23:00:00
3086785消防0.02019/12/31 23:15:00
3086786消防0.02019/12/31 23:30:00
3086787消防0.02019/12/31 23:45:00

23984 rows × 3 columns

import matplotlib.pyplot as plt
print(len(x1))
23984
# 自定义x轴刻度
xticks = ['Jan', 'Mar', 'May', 'Jul', 'Sep','Nov']  # 自定义刻度标签
x = range(23984)# 自定义x轴刻度
num_ticks = 6  # 指定刻度数量
step = len(x) // num_ticks  # 计算刻度步长
xtick_positions = [i * step for i in range(num_ticks)]  # 生成刻度位置
plt.xticks(xtick_positions, xticks)
plt.plot(x1['采集时间'],x1['用量'],color='black',linewidth=0.5)
plt.show()       


在这里插入图片描述

x=data[['水表名','用量','采集时间']]
x
水表名用量采集时间
0司法鉴定中心0.02019/1/1 00:15:00
1司法鉴定中心0.02019/1/1 00:30:00
2司法鉴定中心0.02019/1/1 00:45:00
3司法鉴定中心0.02019/1/1 01:00:00
4司法鉴定中心0.02019/1/1 01:15:00
............
3086783消防0.02019/12/31 22:45:00
3086784消防0.02019/12/31 23:00:00
3086785消防0.02019/12/31 23:15:00
3086786消防0.02019/12/31 23:30:00
3086787消防0.02019/12/31 23:45:00

3086788 rows × 3 columns

x2=x[x['水表名']=='XXX第一学生宿舍']
x2
水表名用量采集时间
220372XXX第一学生宿舍0.122019/1/1 00:15:00
220373XXX第一学生宿舍0.122019/1/1 00:30:00
220374XXX第一学生宿舍0.122019/1/1 00:45:00
220375XXX第一学生宿舍0.122019/1/1 01:00:00
220376XXX第一学生宿舍0.122019/1/1 01:15:00
............
2533541XXX第一学生宿舍0.402019/12/31 22:45:00
2533542XXX第一学生宿舍0.402019/12/31 23:00:00
2533543XXX第一学生宿舍0.502019/12/31 23:15:00
2533544XXX第一学生宿舍0.502019/12/31 23:30:00
2533545XXX第一学生宿舍0.502019/12/31 23:45:00

35039 rows × 3 columns

# 自定义x轴刻度
xticks = ['Jan', 'Mar', 'May', 'Jul', 'Sep','Nov']  # 自定义刻度标签# 自定义x轴刻度
num_ticks = 6  # 指定刻度数量
step = len(x2) // num_ticks  # 计算刻度步长
xtick_positions = [i * step for i in range(num_ticks)]  # 生成刻度位置
plt.xticks(xtick_positions, xticks)
plt.plot(x2['采集时间'],x2['用量'],color='black',linewidth=0.5)
plt.show()       

在这里插入图片描述

x=data[['水表名','用量','采集时间']]
x3=x[x['水表名']=='留学生楼(新)']
# 自定义x轴刻度
xticks = ['Jan', 'Mar', 'May', 'Jul', 'Sep','Nov']  # 自定义刻度标签# 自定义x轴刻度
num_ticks = 6  # 指定刻度数量
step = len(x3) // num_ticks  # 计算刻度步长
xtick_positions = [i * step for i in range(num_ticks)]  # 生成刻度位置
plt.xticks(xtick_positions, xticks)
plt.plot(x3['采集时间'],x3['用量'],color='black',linewidth=0.3)
plt.show()       


在这里插入图片描述

x=data[['水表名','用量','采集时间']]
x4=x[x['水表名']=='XXX教学大楼总表']
# 自定义x轴刻度
xticks = ['Jan', 'Mar', 'May', 'Jul', 'Sep','Nov']  # 自定义刻度标签# 自定义x轴刻度
num_ticks = 6  # 指定刻度数量
step = len(x4) // num_ticks  # 计算刻度步长
xtick_positions = [i * step for i in range(num_ticks)]  # 生成刻度位置
plt.xticks(xtick_positions, xticks)
plt.plot(x4['采集时间'],x4['用量'],color='black',linewidth=0.3)
plt.show()       


在这里插入图片描述

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']  # 指定字体为SimHei
labels = ['消防', '留学生楼(新)', 'XXX教学大楼总表']plt.boxplot([x1['用量'],x3['用量'],x4['用量']])plt.xticks(range(1, 4), labels)
# 显示图形
plt.show()

在这里插入图片描述

相关文章:

校园供水系统智能管理

import pandas as pd data1pd.read_excel("C://Users//JJH//Desktop//E//附件_一季度.xlsx") data2pd.read_excel("C://Users//JJH//Desktop//E//附件_二季度.xlsx") data3pd.read_excel("C://Users//JJH//Desktop//E//附件_三季度.xlsx") data4…...

Flask-SocketIO和Flask-Login联合开发socketio权限系统

设置 Flask, Flask-SocketIO, Flask-Login: 首先,确保安装了必要的库: pip install Flask Flask-SocketIO Flask-Login基础设置: from flask import Flask, render_template, redirect, url_for, request from flask_socketio import SocketIO, emit from flask_…...

航空电子设备中的TSN通讯架构—直升机

前言 以太网正在迅速取代传统网络,成为航空电子设备和任务系统的核心高速网络。本文提出了以太网时间敏感网络(TSN)在航空电子设备上应用的技术优势问题。在实际应用中,TSN已成为一个具有丰富的机制和协议的工具箱,可满足与时间和可靠性相关…...

elment-ui中使用el-steps案例

el-steps案例 样式 代码 <div class"active-box"><div class"active-title">请完善</div><el-steps :active"active" finish-status"success" align-center><el-step title"第一步" /><…...

FPGA解析串口指令控制spi flash完成连续写、读、擦除数据

前言 最近在收拾抽屉时找到一个某宝的spi flash模块&#xff0c;如下图所示&#xff0c;我就想用能不能串口来读写flash&#xff0c;大致过程就是&#xff0c;串口向fpga发送一条指令&#xff0c;fpga解析出指令控制flah&#xff0c;这个指令协议目前就是&#xff1a; 55 AA …...

msvcp120.dll丢失的解决方法,分享三种快速修复的方法

今天&#xff0c;我将和大家分享一个关于电脑问题的解决方法——msvcp120.dll丢失的解决方法。希望对大家有所帮助。 首先&#xff0c;让我们来了解一下msvcp120.dll文件。msvcp120.dll是Microsoft Visual C 2010 Redistributable Package的一个组件&#xff0c;它包含了一些运…...

mysql 8.0 窗口函数 之 序号函数 与 sql server 序号函数 一样

sql server 序号函数 序号函数 ROW_NUMBER() 顺序排序RANK() 并列排序&#xff0c;会跳过重复的序号&#xff0c;比如序号为1&#xff0c;1&#xff0c;3DENSE_RANK() 并列排序&#xff0c;不会跳过重复的序号&#xff0c;比如 序号为 1&#xff0c;1&#xff0c;2 语法结构…...

fastgpt构建镜像

1.把client目录复制到服务器 .next和node_modules文件夹不用上传到服务器 在服务器目录运行 docker build -t fastgpt:1.0.3 . 构建服务 再运行 docker ps 就可以看到容器了...

Git笔记--分支常用命令

目录 1--git branch -v 2--git branch 3--git checkout 4--git merge 1--git branch -v git branch -v git branch -v 用于查看分支版本&#xff1b; 2--git branch git branch xxxxx # xxxxx表示分支名 git branch 用于创建分支&#xff1b; 3--git checkout git check…...

常见设计模式学习+面试总结

一 设计模式简介 二 面试总结 1 什么是单例模式&#xff1f;都有哪些地方用到单例&#xff1f; 内存中只会创建且仅创建一次对象的设计模式&#xff0c;保证一个类只有一个实例&#xff0c;并且提供一个访问该全局访问点。 应用场景&#xff1a; 网站的计数器&#xff0c;一般…...

sql解决取多个截至每个月的数据

问题&#xff1a;需要查询1月、1-2月、1-3月… 1-12月&#xff0c;分区间的累计数据&#xff0c;在同一个sql语句里面实现。 多个分开查询效率不高&#xff0c;并且数据手动合并麻烦。 with t1 as ( SELECT *,CASE WHEN insutype 390 THEN 居民 ELSE 职工 END 人员类别,SUBST…...

数据采集:selenium 获取 CDN 厂家各省市节点 IP

写在前面 工作需要遇到&#xff0c;简单整理理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#xff0c;是人的逃避方式&#xff0c;是对…...

【el-tree】树形组件图标的自定义

饿了么树形组件的图标自定义 默认样式: 可以看到el-tree组件左侧自带展开与收起图标,咱们可以把它隐藏:: .groupList {::v-deep .el-tree-node { .el-icon-caret-right {display: none;} } } 我的全部代码 <div class"groupList"><el…...

UltralSO软碟通制作Linux系统盘

第一步&#xff1a; 下载镜像 阿里云下载地址&#xff1a;https://mirrors.aliyun.com/centos-vault/ 按照需求选择系统版本&#xff0c;我这要求安装CentOS7.5的系统&#xff0c;我以CentOS7.5为例 第二步&#xff1a; 下载UltralSO软件 官网下载地址&#xff1a;https://cn.…...

yolov8训练心得 持续更新

目录 优化器 lion优化器,学习率0.0001,训练效果: 学习率衰减 600个batch衰减0.7,发现效果较好...

超越界限:大模型应用领域扩展,探索文本分类、文本匹配、信息抽取和性格测试等多领域应用

超越界限&#xff1a;大模型应用领域扩展&#xff0c;探索文本分类、文本匹配、信息抽取和性格测试等多领域应用 随着 ChatGPT 和 GPT-4 等强大生成模型出现&#xff0c;自然语言处理任务方式正在逐步发生改变。鉴于大模型强大的任务处理能力&#xff0c;未来我们或将不再为每…...

Compose - 基本使用

一、概念 1.1 Compose优势 由一个个可以组合的Composable函数拼成界面&#xff0c;方便维护和复用。布局模型不允许多次测量&#xff0c;提升了性能。Compose可以和View互操作&#xff08;相互包含对方&#xff09;。 1.2 声明式UI APP展示的数据绝大多数不是静态数据而是会…...

Unity3D Pico VR 手势识别

本文章使用的 Unity3D版本: 2021.3.6 , Pico SDK 230 ,Pico OS v.5.7.1 硬件Pico 4 Pico SDK可以去Pico官网下载SDK 导入SDK 第一步&#xff1a;创建Unity3D项目 第二步&#xff1a;导入 PICO Unity Integration SDK 选择 Windows > Package Manager。 在 Packag…...

【docker】运行registry

registry简介 Docker registry是docker镜像仓库的服务,用于存储和分发docker镜像。 Docker registry主要特点和功能: 存储docker镜像:提供持久化存储docker镜像的功能,存储镜像的各个layer。 分发镜像:拉取和推送镜像的去中心化存储和分发服务。 支持版本管理:给镜像打标签…...

java八股文面试[Spring]——如何实现一个IOC容器

什么是IOC容器 IOC不是一种技术&#xff0c;只是一种思想&#xff0c;一个重要的面向对象编程的法则&#xff0c;它能指导我们如何设计出松耦合&#xff0c;更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象&#xff0c;从而导致类与类之间高耦合&#xff0c;难于…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...