2022 华为杯数模研赛E题原创python代码

2023-11-10

每小问都会有对应的代码,并给出部分处理后的数据、可视化图等

已更新好前三问!!

注:目前市面上的资料都已经看过了,小p的那个Python代码,个人认为过分想要出的速度快,实际质量不太好,直接参考很难获奖,全程无脑机器学习,这种代码我可以写一筐。

其他家就基本只是搬运,我6号上午出的第一版思路,里面有两三个错误,依然只会无脑搬运,很离谱。

https://mianbaoduo.com/o/bread/Y5mTlpds

第一问:

import xlrd
import decimal
import pandas as pd

获取植被生物量数据

f_name = ‘fujian15.xlsx’
data = xlrd.open_workbook(f_name)
table = data.sheets()[0]

放牧规模

S = [str(table.cell_value(i, 0)) for i in range(1, table.nrows)]

日期

date = [str(table.cell_value(i, 1)) for i in range(1, table.nrows)]

植被生物量

W = [str(table.cell_value(i, 3)) for i in range(1, table.nrows)]

s0 = S[0]
d0 = date[0]
w = 0
w_dir = []

for i in range(len(S)):
s = S[i]
d = date[i]
if s == s0 and d == d0:
w += float(W[i])
else:
w_dir.append({‘s’: str(s0), ‘d’: str(d0), ‘w’: w})
w = 0
s0 = s
d0 = d

w_dir中存储了不同时间、不同放牧强度下的植被生物量

第二问:

本代码用的回归模型是随机森林

import xlrd
import numpy as np
from sklearn.ensemble import RandomForestRegressor
import pandas as pd
import warnings
warnings.filterwarnings(‘ignore’)

f_name = ‘q2.xlsx’
data = xlrd.open_workbook(f_name)
table = data.sheets()[0]
df = pd.DataFrame(columns=[‘10cm湿度’, ‘40cm湿度’, ‘100cm湿度’, ‘200cm湿度’]) # 存储最终结果

for mon in [0, 1, 2]: # 1~3月

蒸发量、降水量

x1 = [table.cell_value(i, 2) for i in range(mon * 11 + 1, mon * 11 + 12)]
x2 = [table.cell_value(i, 3) for i in range(mon * 11 + 1, mon * 11 + 12)]
X = np.array([x1, x2]).transpose()

不同深度的湿度

y1 = np.array([table.cell_value(i, 4) for i in range(mon * 11 + 1, mon * 11 + 12)]).flatten()
y2 = np.array([table.cell_value(i, 5) for i in range(mon * 11 + 1, mon * 11 + 12)]).flatten()
y3 = np.array([table.cell_value(i, 6) for i in range(mon * 11 + 1, mon * 11 + 12)]).flatten()
y4 = np.array([table.cell_value(i, 7) for i in range(mon * 11 + 1, mon * 11 + 12)]).flatten()

时间

t = np.array(range(len(x1))).reshape(-1, 1)
t_test = np.array(range(12)).reshape(-1, 1)

利用随机森林进行预测

regressor1 = RandomForestRegressor()
regressor1.fit(t, x1) # 蒸发量与时间关系模型
regressor2 = RandomForestRegressor()
regressor2.fit(t, x2) # 降水量与时间关系模型
regressor3 = RandomForestRegressor()
regressor3.fit(X, y1) # 10cm湿度预测模型
regressor4 = RandomForestRegressor()
regressor4.fit(X, y2) # 40cm湿度预测模型
regressor5 = RandomForestRegressor()
regressor5.fit(X, y3) # 100cm湿度预测模型
regressor6 = RandomForestRegressor()
regressor6.fit(X, y4) # 200cm湿度预测模型

预测未来蒸发量与降水量

第三问:

import xlrd
import numpy as np
from sklearn.ensemble import RandomForestRegressor
import pandas as pd
import warnings
warnings.filterwarnings(‘ignore’)

f_name = ‘q3.xlsx’
data = xlrd.open_workbook(f_name)
table = data.sheets()[0]
df = pd.DataFrame(columns=[‘plot’, ‘SOC’, ‘SIC’, ‘STC’, ‘N’, ‘C/N’]) # 存储最终结果

plots = np.array([table.cell_value(i, 1) for i in range(1, table.nrows)]).flatten()
plot = []
[plot.append(i) for i in plots if i not in plot]

print(plot)

for y in range(12): # 12个分区

时间

t = np.array(range(11)).reshape(-1, 1)

不同化学指标

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

2022 华为杯数模研赛E题原创python代码 的相关文章

  • 如何传递架构以从现有数据帧创建新数据帧?

    要将 schema 传递到 json 文件 我们这样做 from pyspark sql types import StructField StringType StructType IntegerType data schema Stru
  • 使用 MongoDB 作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

    我们目前正在为一家专业公司内部实施类似 CRM 的解决方案 由于存储信息的性质以及信息的不同值和键 我们决定使用文档存储数据库 因为它完全适合目的 在本例中我们选择 MongoDB 作为此 CRM 解决方案的一部分 我们希望存储实体之间的关
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 通过Python连接到Bigquery:ProjectId和DatasetId必须非空

    我编写了以下脚本来通过 SDK 将 Big Query 连接到 Python 如下所示 from google cloud import bigquery client bigquery Client project My First Pr
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size
  • 如何在Python脚本中从youtube-dl中提取文件大小?

    我是 python 编程新手 我想在下载之前提取视频 音频大小 任何 YouTube 视频 gt gt gt from youtube dl import YoutubeDL gt gt gt url https www youtube c

随机推荐

  • 【基础知识】4、python-opencv 超详细介绍

    文章目录 一 概述 1 1 安装 1 2 图像的表示 二 图像 2 1 读 存 显示 下载 2 1 1 读存显示 imread imwrite 2 1 2 下载 2 1 2 1 urllib 2 1 2 2 scikit image 2 2
  • 如何获取C++ Array的大小

    参考自chromium的处理方法如下 template
  • linux查看文件夹目录大小

    1 磁盘还剩多少空间 df h 2 当前的文件夹下的磁盘使用情况 du max depth 1 h 3 查看单个文件夹目录大小 du sh 文件或文件夹路径
  • 超级简单无任何第三方软件在安卓子系统中安装APK

    首先 你需要安装好安卓子系统 安装方法自行搜索 我是通过知乎网友的链接在微软商店直接下载的安卓子系统 无需先下载亚马逊商店 商店是后来自己装的 正事 打开子系统 高级设置 实验性功能 共享用户文件夹 开启 可以自定义文件夹 将需要的apk文
  • 用单链表优雅的写一个学生管理系统

    用单链表优雅的写一个学生管理系统 在基本的数据结构 单链表 Singly Linked List 中我们了解了如何用动态内存申请创建单链表 如何对单链表进行一些简单的操作 为进一步了解单链表以及其结构具有的功能 那么现在我们就用单链表来搞点
  • golang list to tree

    You can edit this code Click here and start typing package main import encoding json log 树 type Tree struct List map int
  • delete、truncate、drop的区别有哪些,该如何选择?不妨进来看看

    先看一个故事 上周同事小姐姐问我 哈哥你看 我发现MySQL有bug 我下午为了清理磁盘 明明删除了100万条MySQL数据 磁盘不仅没有变小 反而更满了呢 那你是怎么删除的 delete from table 呀 怪不得 其实要删除MyS
  • 路的始端,

    这是我的第一篇CSDN 目前准大二 大一恍恍惚惚就过去了如今还是个什么都不知道的小白 从现在开始要努力了 我要先把C语言基础打一下进而学Java 同时前端浅浅的学一下 希望有望成为全栈工程师 很多比赛 比如蓝桥杯什么的都不是很了解 而且什么
  • 全零网络IP地址0.0.0.0表示意义

    http liuzhigong blog 163 com blog static 17827237520114207278610 RFC 0 0 0 0 8 Addresses in this block refer to source h
  • 需求变更,敏捷项目应如何做?

    前两天我们在做项目复盘的时候 发现其实在整个过程中还是遇到了不少需求变更的问题 不过还好我们算是比较圆满地解决了这些突如其来的问题 相信也会有很多朋友和我们团队一样 经常遇到客户这边的需求变更 确实这是一个非常棘手的问题 不过在敏捷项目管理
  • MySQL高级用法:根据字段值拆分数据成多行

    需求描述 我这里需要根据c name中的字段值 根据逗号分割 转成多条数据 SELECT a id a c name substring index substring index a c name b help topic id 1 1
  • Linux下频繁读写文件,导致可用内存减少

    问题现象 Linux下从服务器下载文件时 通过回调函数一直写文件 频繁的进行write操作 导致系统可用内存一直减少 有时候可能会导致程序执行因为内存问题异常 测试代码如下 Copyright C 2019 All rights reser
  • 小程序分包配置

    在pages同级新建subPack文件夹 然后在pages中将分包配置进去 分包加载配置 此配置为小程序的分包加载机制 subPackages root subPack 子包的根目录 pages 这里的配置路径和pages里的一样 path
  • 【Linux下MySQL的初始化和配置】

    Linux下MYSQL的初始化和配置 一 初始准备 一 服务初始化 二 启动MYSQL 三 MYSQL登录 二 设置远程登录 一 确认网络 二 关闭防火墙 三 Linux下修改配置 一 初始准备 先去官网把需要的MYSQL版本下载并安装好
  • Spring Bean的生命周期(非常详细)

    Spring作为当前Java最流行 最强大的轻量级框架 受到了程序员的热烈欢迎 准确的了解Spring Bean的生命周期是非常必要的 我们通常使用ApplicationContext作为Spring容器 这里 我们讲的也是 Applica
  • (2021年)is not a supported wheel on this platform解决方案

    今天安装环境时碰到了这个问题 一脸懵逼 经过查阅得知是因为某个 whl文件和python的版本不兼容导致了这个问题 我看了很多人的回答 把别人的成果总结起来发现其实解决这个问题也很简单 但是这里不保证可以适用所有人的环境 造成这个问题的原因
  • java 数据库断连_Java + Tomcat,正在断开数据库连接?

    我有一个tomcat实例设置 但是context xml在一段时间不活动之后 我在其中配置的数据库连接不断消失 当我检查日志时 出现以下错误 com mysql jdbc exceptions jdbc4 CommunicationsExc
  • Java编写的美食网站 美食系统 功能齐全、界面漂亮 下载即可以运行

    8月份由于公司的事情太多 基本上没有更新博客信息 今天稍微空了点 继续为为大家介绍Java web项目 今天要介绍的是一个Java web编写的美食网站 美食系统 美食网站分两类用户 普通用户和系统管理员 普通用户具备的主要功能包括 登陆
  • git clone错误记录

    Unable to negotiate with XXXportXXX no matching host key type found Their offer ssh rsa 修改 ssh config Host PubkeyAccepte
  • 2022 华为杯数模研赛E题原创python代码

    每小问都会有对应的代码 并给出部分处理后的数据 可视化图等 已更新好前三问 注 目前市面上的资料都已经看过了 小p的那个Python代码 个人认为过分想要出的速度快 实际质量不太好 直接参考很难获奖 全程无脑机器学习 这种代码我可以写一筐