Pandas教程 | 教你用Pandas玩转时间序列数据

微信公众号:「Python读财」
如有问题或建议,请公众号留言

进行金融数据分析或量化研究时,总避免不了时间序列数据的处理,时间序列是指在一定时间内按时间顺序测量的某个变量的取值序列。常见的时间序列数据有一天内随着时间变化的温度序列,又或者交易时间内不断波动的股票价格序列。Pandas也因其强大的时序处理能力而被广泛应用于金融数据分析,这篇文章为大家介绍一下Pandas中的时间序列处理,所使用的数据是上证指数2019年的行情数据。

数据.png

时间相关的数据类型

Pandas时序处理中最常见的两种数据类型为datetimetimedelta。一个datetime可以如下图所示:

datetime.png

datetime顾名思义就是既有日期date也有时间time,表示一个具体的时间点(时间戳)。timedelta则表示两个时间点之间的差,比如2020-01-012020-01-02之间的timedelta即为一天,相信并不难理解。

将时间列转换为时间格式

大多数时候,我们是从csv文件中导入数据,此时Dataframe中对应的时间列是字符串的形式,如下:

In [5]: data.trade_date.head()
Out[5]:
0    20190102
1    20190103
2    20190104
3    20190107
4    20190108
Name: trade_date, dtype: object

运用pd.to_datetime(),可以将对应的列转换为Pandas中的datetime64类型,便于后期的处理

In [11]: data["trade_date"] = pd.to_datetime(data.trade_date)

In [12]: data.trade_date.head()
Out[12]:
0   2019-01-02
1   2019-01-03
2   2019-01-04
3   2019-01-07
4   2019-01-08
Name: trade_date, dtype: datetime64[ns]

时间序列的索引

时间序列中索引和Pandas普通的索引类似,大多时候调用.loc[index,columns]进行相应的索引,直接上代码看看

In [20]: data1 = data.set_index("trade_date")

# 2019年6月的数据
In [21]
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值