2023高教社杯全国大学生数学建模竞赛E题代码解析

2023高教社杯全国大学生数学建模竞赛E题 黄河水沙监测数据分析 代码解析

因为一些不可抗力,下面仅展示部分python代码(第一问的部分),其余代码看文末

首先导入包:

复制代码
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
import pmdarima as pm
from sklearn.linear_model import LinearRegression
import seaborn as sns

然后需要移除table的数据,因为重复了:

复制代码
table = pd.read_excel(r"./data/附件1.xlsx")
for i in range(2017, 2017+5):
#     移除table最后一条数据(重复了)
#     print(table.iloc[len(table)-1])
    table.drop((len(table)-1),inplace=True)
    i = str(i)
    temp = pd.read_excel(r"./data/附件1.xlsx",sheet_name = i)
    table = pd.concat([table, temp])
    table = table.reset_index(drop=True)
table

如下为部分数据预处理代码:

复制代码
# 数据预处理
time_list = []
for i in range(len(table)):
    m, d, h = str(int(table.iloc[i,1])), str(int(table.iloc[i,2])),str(table.iloc[i,3])
    if(int(table.iloc[i,1])<10):
        m = "0" + str(int(table.iloc[i,1]))
    if(int(table.iloc[i,2])<10):
        d = "0" + str(int(table.iloc[i,2])) 
#     print(m,d)
    time = str(int(table.iloc[i,0]))+"-"+ m+"-"+ d +" "+ h
#     print(time)
    time_list.append(time)

temp = pd.DataFrame(time_list, columns=["时刻"])
temp["时刻"]= pd.to_datetime(temp["时刻"])
# temp.to_csv('example3.csv', index=False)
# temp

第一问的可视化图部分代码:

复制代码
# 创建子图
fig, axes = plt.subplots(nrows=3, ncols=1, figsize=(10, 10))

# 绘制水位数据
axes[0].plot(data.index, data['水位(m)'], label='Water Level', color='blue')
axes[0].set_ylabel('Water Level (m)')
axes[0].set_title('Water Level Over Time')

# 绘制水流量数据
axes[1].plot(data.index, data['流量(m3/s)'], label='Flow Rate', color='green')
axes[1].set_ylabel('Flow Rate (m^3/s)')
axes[1].set_title('Flow Rate Over Time')

# 绘制含沙量数据
axes[2].plot(data.index, data['含沙量(kg/m3) '], label='Sediment Content', color='red')
axes[2].set_xlabel('Time')
axes[2].set_ylabel('Sediment Content')
axes[2].set_title('Sediment Content Over Time')

得到:

有关思路、相关代码、讲解视频、参考文献等相关内容可以点击下方群名片哦!

相关推荐
CappuccinoRose3 小时前
MATLAB学习文档(二十四)
学习·数学建模·matlab·数据可视化
小老鼠不吃猫18 小时前
MathType延时使用
数学建模
88号技师1 天前
2025年8月SCI-汉尼拔·巴卡优化算法Hannibal Barca optimizer-附Matlab免费代码
开发语言·人工智能·算法·数学建模·matlab·优化算法
木头左2 天前
ETF网格交易覆盖率缺口与满仓踏空风险量化模型
数学建模
ECT-OS-JiuHuaShan2 天前
哥德尔不完备定理中的完备是什么?是还原论证的具足幻想。不还原就是完备,哥德尔搞不完定理
人工智能·数学建模·学习方法·几何学·量子计算·拓扑学·空间计算
C灿灿数模2 天前
2025全国仿真建模应用挑战赛选题建议与分析
数学建模
贝塔实验室4 天前
频偏估计方法--快速傅里叶变换(FFT)估计法
网络协议·算法·数学建模·动态规划·信息与通信·信号处理·傅立叶分析
UpYoung!4 天前
无广技术贴!【PDF编辑器】Solid Converter PDF保姆级图文下载安装指南——实用推荐之PDF编辑软件
学习·数学建模·pdf·编辑器·运维开发·个人开发
贝塔实验室4 天前
QPSK信号载波同步技术---极性Costas 法载波同步
计算机网络·算法·网络安全·数学建模·信息与通信·信号处理·傅立叶分析
贝塔实验室4 天前
QPSK信号载波同步技术---四相Costas 环法
数学建模·fpga开发·硬件工程·动态规划·信息与通信·信号处理·傅立叶分析