【第十届泰迪杯B题电力负荷预测代码】

2023-11-18

#第十届泰迪杯B题电力负荷预测源代码及可视化数据图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述包括全部问题的代码,现在的数据分析是根据官网暂时发布的数据进行的分析,后续会继续更新代码!

import matplotlib.pyplot as plt
import seaborn as sns 
sns.set_style('darkgrid')
import pandas as pd 
#-*-coding:utf-8-*- 
#文件名: ch.py 
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 
label = pd.read_csv('附件1-区域15分钟负荷数据.csv')
industry = pd.read_csv('附件2-行业日负荷数据.csv')
weather = pd.read_csv('附件3-气象数据.csv')
label = label.rename(columns={'数据时间':'日期1'})
label['日期'] = label['日期1'].apply(lambda x: x.split(' ')[0])
weather.loc[:, '日期'] = pd.to_datetime(weather.loc[:, '日期'], format='%Y年%m月%d日', errors='coerce')
label.loc[:, '日期'] = pd.to_datetime(label.loc[:, '日期'], format='%Y/%m/%d', errors='coerce')
# weather['日期']=weather['日期'].astype('datetime64[ns]')
def make_weather_fetures(data_df):
    weather['start_weather'] = weather['天气状况'].apply(lambda x: x.split('/')[0])
    weather['end_weather'] = weather['天气状况'].apply(lambda x: x.split('/')[1])
    weather['最高温度'] = weather['最高温度'].map(lambda d: d.replace('℃','')).astype(int)
    weather['最低温度'] = weather['最低温度'].map(lambda d: d.replace('℃','')).astype(int)

    #label encoding
    le1 = LabelEncoder()
    le1.fit(weather['夜晚风力风向'])
    weather['白天风力风向'] = le1.transform(weather['白天风力风向'])
    weather['夜晚风力风向'] = le1.transform(weather['夜晚风力风向'])
    
    le2 = LabelEncoder()
    le2.fit(pd.concat([weather['start_weather'],weather['end_weather']]))
    weather['start_weather'] = le2.transform(weather['start_weather'])
    weather['end_weather'] = le2.transform(weather['end_weather'])

    return data_df.drop(['天气状况','Unnamed: 6'],axis=1)
weather = make_weather_fetures(weather)
train = label.merge(weather,on='日期',how='left')
def make_time_fetures(data_df):
    data_df['日期1']=data_df['日期'].astype('datetime64[ns]')
    data_df['year']= data_df['日期1'].dt.year
    data_df['month']= data_df['日期1'].dt.month
    data_df['qua']= data_df['日期1'].dt.quarter
    data_df['day']  = data_df['日期1'].dt.day
    data_df['hour'] = data_df['日期1'].dt.hour  
    data_df['weekday'] = data_df['日期1'].dt.weekday
    data_df=pd.get_dummies(data_df,columns=['weekday'])
    return data_df.drop(['日期1','日期'],axis=1)
train = make_time_fetures(train)
train.to_csv('洗好的数据.csv',index=0)
train1= pd.read_csv('洗好的数据.csv')
train1

下载链接最新的AotoTS预测模型,其精度和拟合程度都比LSTM和ARIMA的要高,预测结果更加准确,文件里面详细写明了调参方式

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

【第十届泰迪杯B题电力负荷预测代码】 的相关文章

  • 在 Django 中定义视图和 url。为什么调用函数时不使用括号?

    我已经在经历 Python速成课程 目前正在进行 Django Web应用程序项目 学习日志 阶段 有些东西与我已经学到的相矛盾 views py file from django shortcuts import render def i
  • python 可以检测它运行在哪个操作系统下吗?

    python 可以检测操作系统 然后为文件系统构建 if else 语句吗 我需要将 Fn 字符串中的 C CobaltRCX 替换为 FileSys 字符串 import os path csv from time import strf
  • 为什么我不能导入 geopandas?

    我唯一的代码行是 import geopandas 它给了我错误 OSError Could not find libspatialindex c library file 以前有人遇到过这个吗 我的脚本运行得很好 直到出现此错误 请注意
  • 在 Python 中使用 XPath 和 LXML

    我有一个 python 脚本 用于解析 XML 并将某些感兴趣的元素导出到 csv 文件中 我现在尝试更改脚本以允许根据条件过滤 XML 文件 等效的 XPath 查询将是 DC Events Confirmation contains T
  • 使用 Django 的 post_save() 信号

    我有两张桌子 class Advertisement models Model created at models DateTimeField auto now add True author email models EmailField
  • 如何更改充当按钮的范围的文本

    我正在为自定义 Web 应用程序编写自动化测试 我遇到了无法更改跨度文本的问题 我尝试过使用 driver execute script 但没有运气 如果我更好地了解 javascript 这确实会有帮助 据我所知 您无法单击跨度 并且列表
  • 如何自动替换多个文件的文本内容中的字符?

    我有一个文件夹 myfolder包含许多乳胶表 我需要替换其中每个字符 即替换任何minus sign by an en dash 只是为了确定 我们正在替换连字符INSIDE该文件夹中的所有 tex 文件 我不关心 tex 文件名 手动执
  • python中函数变量的作用域

    假设我们有两个函数 def ftpConnect ftp FTP server ftp login ftp cwd path def getFileList ftpConnect files ftp nlst print files 如果我
  • 如何使用 openpyxl 对工作簿中的 Excel 工作表/选项卡进行排序

    我需要按字母数字对工作簿中的选项卡 工作表进行排序 我在用openpyxl https openpyxl readthedocs io en default 操作工作表 您可以尝试排序workbook sheets list workboo
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • Python:随时接受用户输入

    我正在创建一个可以做很多事情的单元 其中之一是计算机器的周期 虽然我将把它转移到梯形逻辑 CoDeSys 但我首先将我的想法放入 Python 中 我将进行计数 只需一个简单的操作 counter 1 print counter 跟踪我处于
  • 反加入熊猫

    我有两个表 我想附加它们 以便仅保留表 A 中的所有数据 并且仅在其键唯一时添加表 B 中的数据 键值在表 A 和 B 中是唯一的 但在某些情况下键将出现在表 A 和 B 中 我认为执行此操作的方法将涉及某种过滤联接 反联接 以获取表 B
  • 在wxpython中使用wx.TextCtrl并在按钮单击后显示数据的简单示例 - wx新手

    我正在学习 python 并尝试使用 wxpython 进行 UI 开发 也没有 UI exp 我已经能够创建一个带有面板 按钮和文本输入框的框架 我希望能够在文本框中输入文本 并让程序在单击按钮后对输入框中的文本执行操作 我可以获得一些关
  • 使用循环将对象添加到列表(python)

    我正在尝试使用 while 循环将对象添加到列表中 基本上这就是我想做的 class x pass choice raw input pick what you want to do while choice 0 if choice 1 E
  • Python Flask 是否定义了路由顺序?

    在我看来 我的设置类似于以下内容 app route test def test app route
  • 使用 lambda 函数更改属性值

    我可以使用 lambda 函数循环遍历类对象列表并更改属性值 对于所有对象或满足特定条件的对象 吗 class Student object def init self name age self name name self age ag
  • Python模块单元测试的最佳文件结构组织?

    遗憾的是 我发现有太多方法可以在 Python 中保存单元测试 而且它们通常没有很好的文档记录 我正在寻找一种 终极 结构 它可以满足以下大部分要求 be discoverable by test frameworks including
  • 是否可以强制浮点数的指数或有效数匹配另一个浮点数(Python)?

    这是我前几天试图解决的一个有趣的问题 是否可以强制一个的有效数或指数float与另一个人一样float在Python中 出现这个问题是因为我试图重新调整一些数据 以便最小值和最大值与另一个数据集匹配 然而 我重新调整后的数据略有偏差 大约小
  • asyncio - 多次等待协程(周期性任务)

    我正在尝试为异步事件循环创建定期任务 如下所示 但是我收到 RuntimeError 无法重用已等待的协程 异常 显然 asyncio 不允许等待相同的可等待函数 如中讨论的这个错误线程 https bugs python org issu
  • PyQt 中的线程和信号问题

    我在 PyQt 中的线程之间进行通信时遇到一些问题 我使用信号在两个线程 发送者和监听者 之间进行通信 发送者发送消息 期望被监听者接收 但是 没有收到任何消息 谁能建议可能出了什么问题 我确信这一定很简单 但我已经环顾了几个小时但没有发现

随机推荐