LSTM的数据集准备

本文讲述了作者在处理nc文件数据时遇到的问题,包括数据结构理解、维度处理(导致数据复制)、时间坐标转换,以及如何组织CSV文件以适应多变量和复杂维度。通过实际操作和num2date函数解决了时间问题,但后续仍需面对多维变量导入挑战。
摘要由CSDN通过智能技术生成

前言

一、遇到的问题:

我一开始是以为将nc文件里面的数据提取出来,然后我直接创建csv文件,设置好行、列将数据导入就行。但是事情并没有那么的简单
1.首先你必须清楚nc文件里面的数据到底是什么?它的结构是怎样的?我怎么去利用?包含的哪些内容,哪些是我要导入的?我的范围又是什么?
2.我一开始是把每一个维度都当成是一个数据,然后导入到我csv文件里面。然后就发现数据量很大,然后我的csv文件是根本打不开的。然后当时我都没意识到,我根本没有弄清楚我的数据集,根本不知道我到底要的是哪部分的东西。
3.我当时是把维度都导进去,但是每个维度的大小是不一样的。像我的经度是41,而维度有51,如果我盲目的导入,那么就会出现数据复制,为了去配合别的数据(从下图可以看到我第一次操作的时候,真的是瞎闹)
在这里插入图片描述
4.处理时间坐标。从上图也可以明确的看到,我的时间也是不是正常的表示方式。
我弄这个时间大概是花了2天的(当然并不是一整天都在弄,就一天花一两三四个小时在这个项目上啊哈哈哈哈)
我当时试了很多办法,并不能把时间表示出来,甚至出现找不到文件的bug
然后我最后用了num2date()函数就成功解决了这个问题。

time1=nc.num2date(time, units=dataset['time'].units)
print(time1)

5,但是接下来还是有很多很多的问题要解决,比如我的变量有四个维度,那么我怎么写这个代码将这个四个维度输入到一个变量里面,然后导入到csv文件里面。说起来还挺简单的,希望过几天代码实践的时候,不要整我。
6,我的csv文件应该长什么样,我又要怎么把他表示出来
我一开始想的是我的csv文件应该这样表示(图一),但我有六张图片,后面两张图片的变量也有点不一样。如果我们一个变量一个csv文件显然是不现实的。但是我看了一些别的lstm预测,他用的csv文件里面大概长这样(图二),他就很很轻松可以将东西都搞到一起啊,然后我就觉得我这个好麻烦,可能是我还没很会弄吧。然后我又想了一下能不能图三
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、知识了解

1.了解nc文件

nc 文件包含两个主要部分:

dimensions:各个变量维度大小
variables:变量
group:组
在这里插入图片描述
4个维度: longitude(41), latitude(51), expver(2), time(12)
4个变量:‘mwd’, ‘mwp’, ‘swh’, ‘shts’, ‘shww’
我觉得这张图更直观:在这里插入图片描述

2.读入数据

生成csv文件
法一:利用DictReader、DictWriter等对该csv文件读写,并输出示例样式的结果
import csv
import collections
tast = open("instance.csv","w")
studen = ["class","name","gender","score"]
writer = csv.DictWriter(tast,studen)

writer.writeheader()

writer.writerow({"class":"19云3","name":"Li","gender":"python","score":"80"})
writer.writerow({"class":"19云3","name":"Wang","gender":"python","score":"90"})
writer.writerow({"class":"19云3","name":"Zhang","gender":"python","score":"85"})
writer.writerow({"class":"19云3","name":"Wu","gender":"python","score":"100"})
tast.close()

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值