数学建模——校园供水系统智能管理

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()


在这里插入图片描述

x5=x[x['水表名']=='XXX第四学生宿舍']
x5
水表名用量采集时间
246289XXX第四学生宿舍0.42019/1/1 00:15:00
246290XXX第四学生宿舍0.42019/1/1 00:30:00
246291XXX第四学生宿舍0.42019/1/1 00:45:00
246292XXX第四学生宿舍0.42019/1/1 01:00:00
246293XXX第四学生宿舍0.42019/1/1 01:15:00
............
2560037XXX第四学生宿舍0.72019/12/31 22:45:00
2560038XXX第四学生宿舍0.62019/12/31 23:00:00
2560039XXX第四学生宿舍0.62019/12/31 23:15:00
2560040XXX第四学生宿舍0.52019/12/31 23:30:00
2560041XXX第四学生宿舍1.22019/12/31 23:45:00

35039 rows × 3 columns

x6=x[x['水表名']=='茶园+']
x6
水表名用量采集时间
611260茶园+0.02019/1/3 16:15:00
611261茶园+0.02019/1/3 16:30:00
611262茶园+0.02019/1/3 16:45:00
611263茶园+0.02019/1/3 17:00:00
611264茶园+0.02019/1/3 17:15:00
............
2945006茶园+0.02019/12/31 22:45:00
2945007茶园+0.02019/12/31 23:00:00
2945008茶园+0.02019/12/31 23:15:00
2945009茶园+0.02019/12/31 23:30:00
2945010茶园+0.02019/12/31 23:45:00

34249 rows × 3 columns

x7=x[x['水表名']=='XXX4舍热泵热水舍']
x7
水表名用量采集时间
x21=x[x['水表名']=='XXX第一学生宿舍']
x21
水表名用量采集时间
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

x22=x[x['水表名']=='XXX第二学生宿舍']
x22
水表名用量采集时间
229011XXX第二学生宿舍0.92019/1/1 00:15:00
229012XXX第二学生宿舍0.72019/1/1 00:30:00
229013XXX第二学生宿舍0.82019/1/1 00:45:00
229014XXX第二学生宿舍0.72019/1/1 01:00:00
229015XXX第二学生宿舍0.12019/1/1 01:15:00
............
2542373XXX第二学生宿舍0.12019/12/31 22:45:00
2542374XXX第二学生宿舍0.12019/12/31 23:00:00
2542375XXX第二学生宿舍0.22019/12/31 23:15:00
2542376XXX第二学生宿舍0.12019/12/31 23:30:00
2542377XXX第二学生宿舍0.12019/12/31 23:45:00

35039 rows × 3 columns

x21.set_index('采集时间', inplace=True)
x22.set_index('采集时间', inplace=True)
print(x21['用量'].dtypes,x21['水表名'])
print(x22['用量'].dtypes,x22['水表名'])
x_sum = x21.add(x22, fill_value=0)# 打印结果
x_sum
float64 采集时间
2019/1/1 00:15:00      XXX第一学生宿舍
2019/1/1 00:30:00      XXX第一学生宿舍
2019/1/1 00:45:00      XXX第一学生宿舍
2019/1/1 01:00:00      XXX第一学生宿舍
2019/1/1 01:15:00      XXX第一学生宿舍...    
2019/12/31 22:45:00    XXX第一学生宿舍
2019/12/31 23:00:00    XXX第一学生宿舍
2019/12/31 23:15:00    XXX第一学生宿舍
2019/12/31 23:30:00    XXX第一学生宿舍
2019/12/31 23:45:00    XXX第一学生宿舍
Name: 水表名, Length: 35039, dtype: object
float64 采集时间
2019/1/1 00:15:00      XXX第二学生宿舍
2019/1/1 00:30:00      XXX第二学生宿舍
2019/1/1 00:45:00      XXX第二学生宿舍
2019/1/1 01:00:00      XXX第二学生宿舍
2019/1/1 01:15:00      XXX第二学生宿舍...    
2019/12/31 22:45:00    XXX第二学生宿舍
2019/12/31 23:00:00    XXX第二学生宿舍
2019/12/31 23:15:00    XXX第二学生宿舍
2019/12/31 23:30:00    XXX第二学生宿舍
2019/12/31 23:45:00    XXX第二学生宿舍
Name: 水表名, Length: 35039, dtype: object
水表名用量
采集时间
2019/1/1 00:15:00XXX第一学生宿舍XXX第二学生宿舍1.02
2019/1/1 00:30:00XXX第一学生宿舍XXX第二学生宿舍0.82
2019/1/1 00:45:00XXX第一学生宿舍XXX第二学生宿舍0.92
2019/1/1 01:00:00XXX第一学生宿舍XXX第二学生宿舍0.82
2019/1/1 01:15:00XXX第一学生宿舍XXX第二学生宿舍0.22
.........
2019/12/31 22:45:00XXX第一学生宿舍XXX第二学生宿舍0.50
2019/12/31 23:00:00XXX第一学生宿舍XXX第二学生宿舍0.50
2019/12/31 23:15:00XXX第一学生宿舍XXX第二学生宿舍0.70
2019/12/31 23:30:00XXX第一学生宿舍XXX第二学生宿舍0.60
2019/12/31 23:45:00XXX第一学生宿舍XXX第二学生宿舍0.60

35039 rows × 2 columns

x26=x[x['水表名']=='茶园+']
x26
水表名用量采集时间
611260茶园+0.02019/1/3 16:15:00
611261茶园+0.02019/1/3 16:30:00
611262茶园+0.02019/1/3 16:45:00
611263茶园+0.02019/1/3 17:00:00
611264茶园+0.02019/1/3 17:15:00
............
2945006茶园+0.02019/12/31 22:45:00
2945007茶园+0.02019/12/31 23:00:00
2945008茶园+0.02019/12/31 23:15:00
2945009茶园+0.02019/12/31 23:30:00
2945010茶园+0.02019/12/31 23:45:00

34249 rows × 3 columns

x21=x[x['水表名']=='XXX第一学生宿舍']
x21
水表名用量采集时间
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

df_merged = pd.merge(x21, x26, on='采集时间', how='inner')
df_merged
水表名_x用量_x采集时间水表名_y用量_y
0XXX第一学生宿舍0.222019/1/3 16:15:00茶园+0.0
1XXX第一学生宿舍0.222019/1/3 16:30:00茶园+0.0
2XXX第一学生宿舍0.222019/1/3 16:45:00茶园+0.0
3XXX第一学生宿舍0.222019/1/3 17:00:00茶园+0.0
4XXX第一学生宿舍0.222019/1/3 17:15:00茶园+0.0
..................
34244XXX第一学生宿舍0.402019/12/31 22:45:00茶园+0.0
34245XXX第一学生宿舍0.402019/12/31 23:00:00茶园+0.0
34246XXX第一学生宿舍0.502019/12/31 23:15:00茶园+0.0
34247XXX第一学生宿舍0.502019/12/31 23:30:00茶园+0.0
34248XXX第一学生宿舍0.502019/12/31 23:45:00茶园+0.0

34249 rows × 5 columns

df_merged['总用水量'] = df_merged['用量_x'] + df_merged['用量_y']
df_merged
水表名_x用量_x采集时间水表名_y用量_y总用水量
0XXX第一学生宿舍0.222019/1/3 16:15:00茶园+0.00.22
1XXX第一学生宿舍0.222019/1/3 16:30:00茶园+0.00.22
2XXX第一学生宿舍0.222019/1/3 16:45:00茶园+0.00.22
3XXX第一学生宿舍0.222019/1/3 17:00:00茶园+0.00.22
4XXX第一学生宿舍0.222019/1/3 17:15:00茶园+0.00.22
.....................
34244XXX第一学生宿舍0.402019/12/31 22:45:00茶园+0.00.40
34245XXX第一学生宿舍0.402019/12/31 23:00:00茶园+0.00.40
34246XXX第一学生宿舍0.502019/12/31 23:15:00茶园+0.00.50
34247XXX第一学生宿舍0.502019/12/31 23:30:00茶园+0.00.50
34248XXX第一学生宿舍0.502019/12/31 23:45:00茶园+0.00.50

34249 rows × 6 columns

df_merged1 = pd.merge(x21, x26, on='采集时间', how='outer')
df_merged1
水表名_x用量_x采集时间水表名_y用量_y
0XXX第一学生宿舍0.122019/1/1 00:15:00NaNNaN
1XXX第一学生宿舍0.122019/1/1 00:30:00NaNNaN
2XXX第一学生宿舍0.122019/1/1 00:45:00NaNNaN
3XXX第一学生宿舍0.122019/1/1 01:00:00NaNNaN
4XXX第一学生宿舍0.122019/1/1 01:15:00NaNNaN
..................
35034XXX第一学生宿舍0.402019/12/31 22:45:00茶园+0.0
35035XXX第一学生宿舍0.402019/12/31 23:00:00茶园+0.0
35036XXX第一学生宿舍0.502019/12/31 23:15:00茶园+0.0
35037XXX第一学生宿舍0.502019/12/31 23:30:00茶园+0.0
35038XXX第一学生宿舍0.502019/12/31 23:45:00茶园+0.0

35039 rows × 5 columns

df_merged1['用量_y'] = df_merged1['用量_y'].replace(np.nan, 0)
df_merged1
# df_merged1['总用水量'] = df_merged1['用量_x'] + df_merged1['用量_y']
# df_merged1
水表名_x用量_x采集时间水表名_y用量_y总用水量
0XXX第一学生宿舍0.122019/1/1 00:15:00NaN0.00.12
1XXX第一学生宿舍0.122019/1/1 00:30:00NaN0.00.12
2XXX第一学生宿舍0.122019/1/1 00:45:00NaN0.00.12
3XXX第一学生宿舍0.122019/1/1 01:00:00NaN0.00.12
4XXX第一学生宿舍0.122019/1/1 01:15:00NaN0.00.12
.....................
35034XXX第一学生宿舍0.402019/12/31 22:45:00茶园+0.00.40
35035XXX第一学生宿舍0.402019/12/31 23:00:00茶园+0.00.40
35036XXX第一学生宿舍0.502019/12/31 23:15:00茶园+0.00.50
35037XXX第一学生宿舍0.502019/12/31 23:30:00茶园+0.00.50
35038XXX第一学生宿舍0.502019/12/31 23:45:00茶园+0.00.50

35039 rows × 6 columns

df_merged1['总用水量'] = df_merged1['用量_x'] + df_merged1['用量_y']
df_merged1
水表名_x用量_x采集时间水表名_y用量_y总用水量
0XXX第一学生宿舍0.122019/1/1 00:15:00NaN0.00.12
1XXX第一学生宿舍0.122019/1/1 00:30:00NaN0.00.12
2XXX第一学生宿舍0.122019/1/1 00:45:00NaN0.00.12
3XXX第一学生宿舍0.122019/1/1 01:00:00NaN0.00.12
4XXX第一学生宿舍0.122019/1/1 01:15:00NaN0.00.12
.....................
35034XXX第一学生宿舍0.402019/12/31 22:45:00茶园+0.00.40
35035XXX第一学生宿舍0.402019/12/31 23:00:00茶园+0.00.40
35036XXX第一学生宿舍0.502019/12/31 23:15:00茶园+0.00.50
35037XXX第一学生宿舍0.502019/12/31 23:30:00茶园+0.00.50
35038XXX第一学生宿舍0.502019/12/31 23:45:00茶园+0.00.50

35039 rows × 6 columns


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/111715.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据仓库总结

1.为什么要做数仓建模 数据仓库建模的目标是通过建模的方法更好的组织、存储数据,以便在性能、成本、效率和数据质量之间找到最佳平衡点。 当有了适合业务和基础数据存储环境的模型(良好的数据模型),那么大数据就能获得以下好处&…

c#多线程—基础概念到“双色球”项目实现(附知识点目录、代码、视频)

总结:视频中对于多线程讲的非常透彻,从线程基础概念—>.net不同版本出现的线程方法—>多线程常出现问题—>双色球项目实践,每个知识点都有代码实操,受益匪浅。附上学习笔记和实操代码。 视频 目录 一、线程、进程概念及优…

knife4j 整合 springboot

官方文档:https://doc.xiaominfo.com/knife4j 版本兼容说明:https://doc.xiaominfo.com/docs/quick-start/start-knife4j-version 升级说明:https://doc.xiaominfo.com/docs/upgrading/upgrading-to-v4版本兼容惯关系: springboot…

6. vue-element-admin 二次开发避坑指南

vue-element-admin 二次开发避坑指南 1.1 前言1.1.1 切换标签时未保存页面的操作内容1.1.2 markdown 样式乱码1.1.3 修改默认尺寸1.1.4 当后端服务器宕机情况下页面加载层一直转圈无法停止,只能关闭页面1.1.5 隐藏齿轮 1.1 前言 上一篇博文,我们分享了vu…

Redis——如何解决redis穿透、雪崩、击穿问题

目录 一、查询商品信息的常规代码示例二、缓存击穿2.1、缓存击穿的理解2.2、缓存击穿的解决方案2.3、解决缓存击穿的代码示例 三、缓存雪崩3.1、缓存雪崩的理解3.2、缓存雪崩的解决方案3.2.1、缓存集中过期的情况3.2.2、缓存服务器宕机的情况3.2.3、缓存服务器断电的情况 3.3、…

性能测试常见的测试指标

一、什么是性能测试 先看下百度百科对它的定义 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。我们可以认为性能测试是:通过在测试环境下对系统或构件的性能进行探测,用以验证在生产环境下系统性能…

【卷积神经网络】MNIST 手写体识别

LeNet-5 是经典卷积神经网络之一,1998 年由 Yann LeCun 等人在论文 《Gradient-Based Learning Applied to Document Recognition》中提出。LeNet-5 网络使用了卷积层、池化层和全连接层,实现可以应用于手写体识别的卷积神经网络。TensorFlow 内置了 MNI…

Geodetector 应用excel显示宏损坏的解决办法

打开地理探测器 如果显示宏损坏,每次excel会自动删除文件中的宏文件,导致地理探测器不能运行,这样的解决办法主要是:修改电脑本身格式与excel宏文件运行格式一致: 区域格式改为中文,这样就可以运行了。

记一次坑爹的ARouter::There is no route match the path

接入阿里的ARouter框架;实现最简单的页面跳转;一直失败,报找不到匹配的路径;百度各种基本都说配置有问题;我一一对应,配置怎么看看不出问题来; 我的架构是 接入的代码怎么看都没问题&#xff1…

动态维护直径 || 动态维护树上路径 || 涉及LCA点转序列 || 对欧拉环游序用数据结构维护:1192B

https://www.luogu.com.cn/problem/CF1192B 对于直径的求法,常用dp或两次dfs,但如果要动态维护似乎都不太方面,那么可以维护树上路径最大值。 树上路径为: d e p u d e p v − 2 d e p l c a ( u , v ) dep_udep_v-2\times de…

图解算法--查找算法

目录 查找算法 一、顺序查找 二、二分法查找 三、插值查找法 四、斐波那契查找法 查找算法 查找算法根据数据量的大小,可以将其分为以下两种 内部查找:内部查找是指在内存或内部存储器中进行查找操作的算法。内部查找适用于数据量较小、存储在内存…

概念解析 | 量子机器学习:将量子力学与人工智能的奇妙融合

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:量子机器学习。 量子机器学习:将量子力学与人工智能的奇妙融合 量子增强机器学习:量子经典混合卷积神经网络 量子机器学习是量子计算和机器学习的结合,它利用量子力学的特…

探讨uniapp的路由与页面栈及参数传递问题

1首先引入页面栈 框架以栈的形式管理当前所有页面, 当发生路由切换的时候,页面栈的表现如下: 页面的路由操作无非:初始化、打开新页面、页面重定向、页面返回、tab切换、重加载。 2页面路由 uni-app 有两种页面路由跳转方式&am…

【实训项目】精点考研

1.设计摘要 如果说高考是一次能够改变命运的考试,那么考研应该是另外一次。为什么那么多人都要考研呢?从中国教育在线官方公布是考研动机调查来看,大家扎堆考研的原因大概集中在这6个方面:本科就业压力大,提升竞争力、…

视频汇聚/视频云存储/视频监控管理平台EasyCVR视频平台添加萤火云设备的具体操作步骤

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

解析肖特基二极管NRVBS360BNT3G整流器的优缺点及应用

何为肖特基二极管整流器? 是一种常用的电子器件,用于将交流信号转换为直流信号。它由一个PN结和一个金属接触组成,具有较低的正向压降和快速的开关特性。 在正向偏置下,肖特基二极管具有较低的正向压降,通常为0.3-0.…

笔记本电脑功率怎么看?记好这2个方法!

在使用笔记本电脑时,其功率是一个很重要的指标。笔记本电脑功率是影响其性能、续航和热管理的重要因素。不同的功率水平可以带来不同的使用体验。 本文将解释不同的笔记本电脑功率对设备的影响,并详细介绍几种查看笔记本电脑功率的方法。继续往下看吧&a…

安全生产作业现场违规行为识别 opencv

安全生产作业现场违规行为识别算法通过pythonopencv网络模型算法框架设定了各种合规行为和违规行为的模型,安全生产作业现场违规行为识别算法检测到违规行为,将立即进行抓拍并发送告警信息给相关人员,以便及时采取相应的处置措施。OpenCV是一…

基于OV2640/ OV5640 的图像采集显示系统

基于OV2640/ OV5640 的图像采集显示系统系列文章目录: (1)基于 OV5640 摄像头理论知识讲解-成像和采样原理 (2)基于 OV5640 摄像头理论知识讲解-数字接口和控制接口 (3)基于 OV5640 摄像头理论知…

vscode+ros开发环境搭建

目录 介绍 前提 vscode安装 vscode插件安装 工作空间准备 打开vscode 创建catkin包 编写cpp代码 编译 运行 启动ros服务 监听话题 启动ros测试 介绍 ros开发是机器人开发中必不可少的工作,语言选择可以是c,也可以是python。工具的话,不能像wi…