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

2023-11-18

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)
# table

df =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]:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 大模型PEFT技术原理(三):Adapter Tuning及其变体

    随着预训练模型的参数越来越大 尤其是175B参数大小的GPT3发布以来 让很多中小公司和个人研究员对于大模型的全量微调望而却步 近年来研究者们提出了各种各样的参数高效迁移学习方法 Parameter efficient Transfer L
  • [Centos] 如何查看linux系统架构(amd64、arm、arm64

    这几天搭建一个基于扣扣的聊天机器人项目时总会无法运行 试想是架构选错了 一直在网上收集查看架构的详细方法 上链接 https www cnblogs com liyuanhong articles 4859816 html
  • 用python实现PyEcharts中的条形图,直方图

    用python实现PyEcharts中的条形图 直方图 笔记仅是个人的学习笔记总结 如有雷同请见谅 条形图 1 普通使用 from pyecharts charts import Bar 引用Faker来生成数据 from pyechart
  • IOS编程教程(十一):在故事板联线(Segue)中的不同视图控制器里传值

    这是我们演示故事板系列的第二篇文章 在前一个教程中 我们介绍了故事板 那是一个在Xcode中方便设计友好用户界面的功能 如果你跟着教程走 从开始到现在 你应该已经建立了一个简单的菜单应用程序的导航界面 但是上一篇我们有一件事没讨论 那就是如
  • table.getn(tableName) 的用法注意。

    转自 http blog sina com cn s blog 4a2e9af90100cv1z html 1 table getn tableName 等同于操作符 作用 得到一个table的大小 注意 该table的key必须是有序的
  • 启航2021

    1 企业数字化升级之路 附下载地址 点击标题 快速进入下载页面 近年来创新技术的不断升级迭代和突如其来的新冠疫情对各 各业数字化转型的推动 让企业管理者普遍认同数字化 智能化的企业运营模式 能够有效助 企业抗击 险 提升效能 获得 远发展
  • matlab-knn使用

    play with knn 1 什么是knn 1 1 什么是knn 1 2 knn适用范围 2 knn实验前的准备 2 1 knn的实验要点 3 knn的matlab实验 使用UCI数据集 3 0 KNN函数自带用例 3 1 UCI数据集
  • 3.docker仓库(Nexus、Harbor)的安装

    本文目录 前言 1 Aliyun 镜像仓库 2 Nexus 1 Nexus 私服搭建 2 登录控制台 3 配置nexus仓库 4 配置nexus仓库地址为安全的镜像地址 5 镜像推送至nexus仓库 6 拉取nexus仓库镜像 3 Harb
  • c++顺序表与链表的区别

    C Lists 链表 Lists将元素按顺序储存在链表中 与 向量 vectors 相比 它允许快速的插入和删除 但是随机访问却比较慢 说起这个访问速率呢 给大家举个很简单的例子 向量 vectors 也就是顺序表 它的存储方法就类似于c语
  • Exception in thread "main" java.lang.NoClassDefFoundError: XXX

    Exception in thread main java lang NoClassDefFoundError XXX编译时没有报错 一运行就不听话网上找了一大堆 各种解决方案都不是适合我 但是一片文章列举出了可能产生的原因https bl
  • Cpp关键字破解(三)【volatile】篇

    关键字总结 volatile 文章目录 关键字总结 volatile 0 前言 1 概念 2 作用 3 使用场景 4 volatile成员函数 5 代码体验 0 前言 参考几位前辈博客 汇总整理了一下 C 中volatile关键字的使用详解
  • Node.js文件系统模块——读写文件操作

    文章目录 前言 一 导入fs模块 1 readFile readFileSync 2 writeFile writeFileSync 3 appendFile appendFileSync 二 处理文件路径 1 dirname动态拼接路径
  • mysql的逻辑架构

    以一次查询为例 看一下从客户端发来sql 到执行完 整个过程mysql服务器做了哪些事 从整体上 分为三步 连接 对sql语句进行解析和优化 驱动引擎把数据交由文件系统存储 每一部分具体下来 就是这样一幅图 了解一条sql语句从客户端到服务
  • c语言中“

    一个竖杠 表示运算的或 二个竖杠 表示逻辑的或 c语言的位运算 取反 0取反是1 1取反是0 lt lt 是左移 比如1 lt
  • 系统架构设计师-数据库系统(1)

    目录 一 数据库模式 1 集中式数据库 2 分布式数据库 二 数据库设计过程 1 E R模型 2 概念结构设计 3 逻辑结构设计 三 关系代数 1 并交差 2 投影和选择 3 笛卡尔积 4 自然连接 一 数据库模式 1 集中式数据库 三级模
  • less命令打开两个或多个文件时切换文件的快捷键

    在使用 less 命令查看多个文件时 可以使用快捷键 n 和 p 来切换文件 输入 n 后 将切换到下一个文件 输入 p 后 将切换到上一个文件 如下图 less可以打开两个文件 使用快捷键就可以快速查看 而不用退出后再重新打开另一个文件了
  • 计算机专业PhD申请文书范文,美国统计学博士申请文书范文

    美国统计学博士申请文书范文推荐 美国博士申请文书个人陈述作用十分重要 本文为大家提供了一篇成功获取美国统计学博士申请的PS范文 希望大家可以从这一篇文章中得到一些有用的参考信息 I am applying for acceptance in
  • SQL 连接运算join

    连接运算是 8种关系运算 中的一种 五种JOIN方式 1 INNER JOIN or JOIN 2 OUTER JOIN 2 1LEFT OUTER JOIN or LEFT JOIN 2 2RIGHT OUTER JOIN or RIGH
  • 一图看懂 openpyxl 资料整理+笔记(大全)

    本文由 大侠 AhcaoZhu 原创 转载请声明 链接 https blog csdn net Ahcao2008 一图看懂 openpyxl 资料整理 笔记 大全 摘要 类结构图 一级模块目录 按字序 多级模块 按层级 模块级 doc 及
  • 【已更新代码图表】2023数学建模国赛E题python代码--黄河水沙监测数据分析

    E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河 研究黄河水沙通量的变化规律对沿黄流域的环境治理 气候变 化和人民生活的影响 以及对优化黄河流域水资源分配 协调人地关系 调水调沙 防洪减灾 等方面都具有重要的理论指导意义 附件 1 给出