当前位置: 首页 > 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;难于…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...