时序数据处理

附上代码和运行结果:

import pandas as pd
from datetime import datetime
import numpy as np 

date_rng = pd.date_range(start='1/1/2018',end='1/08/2018',freq='H')
'''DatetimeIndex(['2018-01-01 00:00:00','2018-01-01 01:00:00',
                '2018-01-01 02:00:00','2018-01-01 03:00:00',
                '2018-01-01 04:00:00','2018-01-01 05:00:00']
                '2018-01-01 02:00:00','2018-01-01 03:00:00'  '''      
print(date_rng)
type(date_rng[0])
pd._libs.tslib.Timestamp
df=pd.DataFrame(date_rng,columns=['date'])
df['data'] = np.random.randint(0,100,size=(len(date_rng)))
print(df.head(15))
#数据框索引转换为datetime索引
df['datetime'] = pd.to_datetime(df['date'])
df=df.set_index('datetime')
df.drop(['date'],axis=1,inplace=True)
'''
 inplace = True:不创建新的对象,直接对原始对象进行修改;

​ inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。
'''
print(df.head())

#字符串的格式将其转换为时间戳
string_date_rng = [str(x) for x in date_rng]
print(string_date_rng)
#任意的字符串形式的日期列表,并将它们转换为时间戳:
string_date_rng_2 = ['June-01-2018','June-02-2018','June-03-2018']
timestamp_date_rng_2 = [datetime.strptime(x,'%B-%d-%Y') for x in string_date_rng_2]
print(timestamp_date_rng_2)

df2=pd.DataFrame(timestamp_date_rng_2,columns=['date'])
print(df2)

#只想查看本月2号的数据
print(df[df.index.day==2])

#数据框索引直接调用想查看的日期
print(df['2018-01-03'])

#如何在特定日期之间选择数据?
print(df['2018-01-04':'2018-01-06'])

#计算每天数据的平均值:
print(df.resample('D').mean())

#计算3个窗口周期内的滚动和
df['rolling_sum']=df.rolling(3).sum()
print(df.head(10))

#采取滚动求和并向后“滚动”数据
#df['rolling_sum']=df.rolling(3).sum()
#print(df.head(10))

#时间t在Epoch时间的例子,它将Unix/Epoch时间转换为UTC中的常规时间戳
epoch_t=1529272655
real_t = pd.to_datetime(epoch_t,unit='s')
print(real_t)
#Timestamp('2018-06-17 21:57:35')

#UTC中的时间转换为自己的时区
print(real_t.tz_localize('UTC').tz_convert('US/Pacific'))
                                                        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PyTorch中处理时序数据通常涉及以下几个步骤: 1. 数据准备:首先,你需要准备你的时序数据。这可能包括时间序列、文本序列或其他类型的序列数据。 2. 数据预处理:对于时序数据,常见的预处理步骤包括特征缩放、填充缺失值、平滑数据等。你可以使用PyTorch提供的工具,如`torchvision.transforms`来进行常见的预处理操作。 3. 数据加载:一旦你准备好数据,你需要将其加载到PyTorch的数据结构中。可以使用`torch.utils.data.Dataset`类来自定义数据集,并使用`torch.utils.data.DataLoader`类来加载数据集。 4. 序列建模:针对时序数据,常见的建模方法有循环神经网络(RNN)和长短期记忆网络(LSTM)。你可以使用PyTorch提供的RNN和LSTM模型类,在模型中处理时序数据。 5. 模型训练:定义好模型后,你需要定义损失函数和优化器,并使用训练数据对模型进行训练。在每个训练迭代中,将输入序列传递给模型,计算损失并反向传播梯度进行参数更新。 6. 模型评估:训练完成后,你可以使用测试数据对模型进行评估。评估指标可以根据具体任务而定,如准确率、均方根误差等。 总结起来,处理时序数据的基本步骤包括数据准备、数据预处理、数据加载、序列建模、模型训练和模型评估。你可以使用PyTorch提供的工具和模型类来完成这些步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值