【已更新代码图表】2023数学建模国赛E题python代码--黄河水沙监测数据分析

E 题 黄河水沙监测数据分析
黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变
化和人民生活的影响,以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾
等方面都具有重要的理论指导意义。
附件 1 给出了位于小浪底水库下游黄河某水文站近 6 年的水位、水流量与含沙量的实际监
测数据,附件 2 给出了该水文站近 6 年黄河断面的测量数据,附件 3 给出了该水文站部分监测
点的相关数据。请建立数学模型研究以下问题:
问题 1 研究该水文站黄河水的含沙量与时间、水位、水流量的关系,并估算近 6 年该水
文站的年总水流量和年总排沙量。

#完整代码:https://mbd.pub/o/bread/mbd-ZJ2cl59p

在这里插入图片描述
在这里插入图片描述

#思路

有6年每天多个时刻下的水位、流量,然后含沙量是只有两千条数据,
其他是空着的,他就问研究该水文站黄河水的含沙量与时间、水位、水流量的关系

先预测剩下的含沙量

最后在计算一下近 6 年该水文站的年总水流量和年总排沙量。

考虑到数据的时序性 通过线性回归的代码 进行拟合

通过两千条数据拿来训练,然后预测剩下的一万四千条数据

#千千数模 q群:790539996
#代码购买链接:https://www.jdmm.cc/file/2709544/
#倒卖欢迎举报 举报有奖# In[2]: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# In[3]:# 补齐时间
table['年'].fillna(method='ffill', inplace=True)
table['月'].fillna(method='ffill', inplace=True)
table['日'].fillna(method='ffill', inplace=True)
table# In[13]:# 数据预处理
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
table1 = pd.concat([table, temp],axis=1)
# tabledf =table1.iloc[:, [7,4,5,6]]
df.to_csv('example2.csv', index=False)# 将索引转换为日期时间
# df.set_index("时刻", inplace=True)
df# In[5]:df["时刻"]= pd.to_datetime(df["时刻"])
# 将时间序列转换为数值型特征
df['时刻'] = df['时刻'].apply(lambda x: x.timestamp())
df# In[6]:# 提取时间、水位、水流量和含沙量的数据
data = df[pd.notna(df["含沙量(kg/m3) "])]
X = data[['时刻', '水位(m)', '流量(m3/s)']]
y = data['含沙量(kg/m3) ']
y# In[7]:# 建立线性回归模型
#LSTM 
model = LinearRegression()
model.fit(X, y)# In[8]:new_df = df[pd.isna(df.loc[:,"含沙量(kg/m3) "])]
new_X = new_df.loc[:,['时刻', '水位(m)', '流量(m3/s)']]
new_df.loc[:,"含沙量(kg/m3) "] = model.predict(new_X)
new_df# In[9]:# 使用 fillna 方法填充空白部分
table['含沙量(kg/m3) '].fillna(new_df['含沙量(kg/m3) '], inplace = True)
# table.to_csv('example.csv', index=False)
table# In[10]:

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

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

相关文章

国产SSD的0e可靠性问题如何解决?

最近有粉丝在后台私信询问过程NAND的0e问题,觉得有必要跟大家聊聊小编的一些看法和SSD选购相关的注意事项。 说实话,小编看到0e这个词还一时间还有点恍惚了,0e是啥,我还搜索了一下,发现还挺多的。主要是长江存储和三星的词条。 点开才发现,原来0e是Media Error啊,恕我孤…

3D点云测量:计算三个平面的交点

文章目录 0. 测试效果1. 基本内容文章目录:3D视觉测量目录0. 测试效果 1. 基本内容 计算三个平面的交点需要找到满足所有三个平面方程的点。三个平面通常由它们的法向量和通过它们的点(或参数形式的方程)来定义。以下是计算三个平面的交点的一般步骤: 假设有三个平面,分别…

Vue中的指令

指令 指令 (Directives) 是带有 v- 前缀的特殊 attribute。指令 attribute 的值预期是单个 JavaScript 表达式。指令的职责是&#xff0c;当表达式的值改变时&#xff0c;将其产生的连带影响&#xff0c;响应式地作用于 DOM。 常用指令预期简短介绍v-showany显示隐藏元素&…

[html]当网站搭建、维护的时候,你会放个什么界面?

效果图&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网站建设中</title><style>/* 基础样式 */body, html {margin: 0;padding: 0;height: 100%;font-family: Arial, sa…

如何利用客户旅程打造好的用户体验?

在当今竞争激烈的市场中&#xff0c;提供卓越的用户体验已经成为企业脱颖而出的关键因素之一。客户旅程是实现出色用户体验的有力工具之一&#xff0c;而HubSpot的客户旅程规划功能为企业提供了强大的支持&#xff0c;帮助他们更好地理解、管理和改善客户的互动过程。今天运营坛…

C++动态内存管理+模板

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; C&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大…

python回调函数之获取jenkins构建结果

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 需求背景&#xff1a; 现在用jenkins构建自动化测试&#xff08;2个job&#xff09;&#xff0c;公司现将自动化纳入到发布系统 要求每次构建成功之后&am…

pip install mysqlclient报错

安装mysqlclient时报错 先查看安装的python版本 python -V 根据版本下载下载对应的 mysqlclient 文件 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclienthttps://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 我的是3.7版本的 就下载3.7版本&#xff0c;64位系…

我的创作纪念日—谈谈我的学习经历

引言 在这段时间里&#xff0c;我创作了一系列关于Java编程的博客文章。通过这个过程&#xff0c;我不仅增加了对Java编程的理解&#xff0c;还提高了我的博客创作技能。在本文中&#xff0c;我想分享一些我在博客创作过程中学到的心得体会和经验 机缘与巧合 其实很早我就有写笔…

MySQL知识笔记——初级基础(实施工程师和DBA工作笔记)

老生长谈&#xff0c;MySQL具有开源、支持多语言、性能好、安全性高的特点&#xff0c;广受业界欢迎。 在数据爆炸式增长的年代&#xff0c;掌握一种数据库能够更好的提升自己的业务能力&#xff08;实施工程师&#xff09;。 此系列将会记录我学习和进阶SQL路上的知识&#xf…

Ubuntu系统重装nvidia gpu驱动

1. 卸载原驱动 sudo apt remove *cuda* sudo apt remove *nvidia* sudo /usr/bin/nvidia-uninstall sudo dpkg -l | grep ^rc | cut -d -f3 | sudo xargs dpkg --purge sudo rm -rf ~/.cuda-license-* sudo apt purge nvidia-cuda-toolkit sudo apt remove nvidia-driver-* s…

持续集成/技术交付全流程流水线工具的设计与落地

文章目录 持续集成/技术交付全流程流水线工具的设计与落地概述工具架构设计主要功能模块代码库Jenkins 流水线代码构建自动化测试产品部署监控报警 使用方法步骤一&#xff1a;安装 Jenkins步骤二&#xff1a;创建 Jenkins 流水线步骤三&#xff1a;配置监控报警步骤四&#xf…