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

news2024/11/18 11:39:22
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 plt

plt.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.coloradmin.cn/o/946650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL官网下载安装包

MySQL官网: MySQL MySQL 8.0官网下载地址: MySQL :: Download MySQL Community Server 2023-07-18 MySQL 8.1.0 发布,这是 MySQL 变更发版模型后的第一个创新版本 (Innovation Release) 。 如果在官网中找不到下载位置,点击第二个…

【【萌新的STM32-22中断概念的简单补充】】

萌新的STM32学习22-中断概念的简单补充 我们需要注意的是这句话 从上面可以看出,STM32F1 供给 IO 口使用的中断线只有 16 个,但是 STM32F1 的 IO 口却远远不止 16 个,所以 STM32 把 GPIO 管脚 GPIOx.0~GPIOx.15(xA,B,C,D,E,F,G)分别对应中断…

RV64和ARM64栈结构差异

RV64和ARM64栈结构差异 1 RV64和ARM64栈结构差异示意图1.1 RV64和ARM64寄存器介绍1.1.1 RV64寄存器1.1.2 ARM64寄存器 1.2 RV64和ARM64栈结构差异示意图 2 RV64和ARM64栈使用示例2.1 测试的程序2.2 RV64反汇编的汇编程序2.3 ARM64反汇编的汇编程序2.4 RV64和ARM64测试程序的栈结…

Future

Future Future接口由FutureTask 实现类定义了操作异步任务执行的一些方法,比如异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。Future 接口可以为主线程开一个分支任务,专门为主线程处理耗时和费力的业务。 Future…

制造业物联网革命:智慧工厂数据采集与远程监控管理

智慧工厂是指运用现代信息技术和物联网技术,实现制造业生产过程的智能数字化。智慧工厂的工业设备不仅能够自动化运行,还可以通过网络技术帮助企业实现数据采集、远程监控与管理。4G工业网关便成为了智慧工厂通讯的重要组成部分,起到了连接工…

uni-app开发小程序中遇到的map地图的点聚合以及polygon划分区域问题

写一篇文章来记录以下我在开发小程序地图过程中遇到的两个小坑吧,一个是点聚合,用的是joinCluster这个指令,另一个是polygon在地图上划分多边形的问题: 1.首先说一下点聚合问题,由于之前没有做过小程序地图问题&#…

LNMP架构之搭建Discuz论坛

LNMP 一、编译安装Nginx1)前置准备2)开始编译安装3)添加到系统服务(systemd启动) 二、编译安装MySQL服务1)前置准备2)编译安装3)编辑配置文件4)更改mysql安装目录和配置文…

【流量分析】Godzilla分析

一、哥斯拉流量的特点: 1.User-Agent (弱特征) 哥斯拉客户端使用JAVA语言编写,在默认的情况下,如果不修改User-Agent,User-Agent会类似于Java/1.8.0_121(具体什么版本取决于JDK环境版本)。但是哥斯拉支持…

Pytest参数详解 — 基于命令行模式

1、--collect-only 查看在给定的配置下哪些测试用例会被执行 2、-k 使用表达式来指定希望运行的测试用例。如果测试名是唯一的或者多个测试名的前缀或者后缀相同,可以使用表达式来快速定位,例如: 命令行-k参数.png 3、-m 标记&#xff0…

K-Means(K-均值)聚类算法理论和实战

目录 K-Means 算法 K-Means 术语 K 值如何确定 K-Means 场景 美国总统大选摇争取摆选民 电商平台用户分层 给亚洲球队做聚类 ​编辑 其他场景 K-Means 工作流程 K-Means 开发流程 K-Means的底层代码实现 K-Means 的评价标准 K-Means 算法 对于 n 个样本点来说&am…

unity VS无法进行断点调试

有时候我们的VS无法进行断点调试,报错如下: 原因是:开启了多个项目,vs无法找到调式项目 解决:点击菜单栏--调试----附加unity调试程序 会弹出一个框,然后选择你要调试的项目 即可

长安链并行调度机制(1):交易调度与冲突检测流程

长安链采用高效的并行调度方式执行交易,了解长安链交易调度、冲突检测和DAG构建流程有助于开发者更好地理解长安链并行调度的运行机制,帮助开发者编写高质量、低冲突的智能合约,更好地构建区块链应用。 我们将用两篇文章说明长安链交易调度、…

Linux特殊指令

目录 1.dd命令 2.mkfs格式化 3.df命令 4.mount实现硬盘的挂载 5.unshare 1.dd命令 dd命令可以用来读取转换并输出数据。 示例一: if表示infile,of表示outfile。这里的/dev/zero是一个特殊文件,会不断产生空白数据。 bs表示复制一块的大…

ZLMediaKit 重建docker包

1.下载容器到本地服务器并运行 #此镜像为github持续集成自动编译推送,跟代码(master分支)保持最新状态 docker run -id -p 1935:1935 -p 8080:80 -p 8443:443 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp -p 9000:9000/udp zlmediakit/zlmedi…

阿姆达尔定律(Amdahl‘s Law)通俗解释

阿姆达尔定律(Amdahl’s Law),它描述了在对系统的某个部分进行加速时,该部分对整体系统性能的影响,取决于该部分的重要性和加速程度。 原书给的例子不太好懂,下面是一个更好懂的例子。 例子:汽车…

Python数据分析实战-修改 DataFrame 中的字段(列)名(附源码和实现效果)

实现功能 修改 DataFrame 中的字段(列)名 实现代码 import pandas as pd# 创建一个示例 DataFrame df pd.DataFrame({A: [1, 2, 3], B: [4, 5, 6], C: [7, 8, 9]})# 使用 rename 方法修改列名这,将返回一个新的 DataFrame,其中列名已更改…

构建产品帮助中心:SaaS产品帮助中心必备要素,需要规避的问题

帮助中心本来是为了帮助客户解决问题,了解产品价值,例如:产品使用手册、新手入门视频、核心功能的操作演示、常见问题FAQ都可以当作产品帮助中心的范畴。 以SaaS产品为例,开发帮助中心需要具备内容展示、搜索查询、文档理解等三大…

三分钟了解车规级芯片的特点

汽车已经不再只是一种交通工具,而是一个复杂的智能系统。现代汽车配备了许多电子设备和系统,如发动机控制单元(ECU)、安全气囊系统、防抱死刹车系统(ABS)、自动驾驶功能、娱乐系统等。这些系统需要可靠的电…

蒲公英路由器如何设置远程打印?

现如今,打印机已经是企业日常办公中必不可少的设备,无论何时何地,总有需要用到打印的地方,包括资料文件、统计报表等等。 但若人在外地或分公司,有文件急需通过总部的打印机进行打印时,由于不在同一物理网络…

MFC网络编程简单例程

目录 一、关于网络的部分概念1 URL(网址)及URL的解析2 URL的解析3 域名及域名解析3 IP及子网掩码4 什么是Web服务器5 HTTP的基本概念6 Socket库概念7 协议栈8 Socket库收发数据基本步骤 二、基于TCP的网络应用程序三、基于UDP的网络应用程序 一、关于网络的部分概念 1 URL(网址…