时序数据处理

附上代码和运行结果:

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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值