【Python】创建时间序列

本文介绍了如何在Python中利用pandas库创建时间序列。通过使用datetime对象作为索引,可以创建一个DateTimeIndex的Series,从而形成时间序列。时间序列间的算术运算会自动按日期对齐。示例中展示了创建并相加两个时间序列的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pandas最基本的时间序列类型就是以时间戳为索引的Series,时间戳通常用python字符串或datetime对象表示。
创建一个以datetime对象为索引的时间序列:

In:
	from pandas import Series
	from numpy import random
	import numpy as np
	import pandas as pd
	from datetime import datetime
	dates =[datetime(2011,1,2),datetime(2011,1,5),datetime(2011,1,7),datetime(2011,1,8),datetime(2011,1,9),datetime(2011,1,10)]
	ts = Series(np.random.randn(6),index = dates)
	print(ts)
Out :
	2011-01-02    1.956850
	2011-01-05    0.257622
	2011-01-07    2.380216
	2011-01-08   -1.379715
	2011-01-09    1.103500
	2011-01-10   -0.150250
	dtype: float64

这就创建了一个对象为datetime的时间序列ts,它的索引类型为DatetimeIndex,这时ts就变成了一个TimeSeries了,因为当创建一个带有DatetimeIndex的Series时,pandas就会知道该对象是一个时间序列。我们可以用下面的代码看一下ts的索引的数据类型:

In:print(type(ts.index))
Out :<class 'pandas.core.indexes.datetimes.DatetimeIndex'>

时间序列之间的算术运算会按日期对齐运算。用刚才的时间序列ts创建另一个时间序列tp,并把两个序列相加:

In:tp = ts[::2]
	print(tp)
Out:
    2011-01-02   -0.752801
	2011-01-07   -0.834471
	2011-01-09   -1.227245
	dtype: float64

In:print(ts + tp)
Out:   
    2011-01-02   -1.505603
    2011-01-05         NaN
    2011-01-07   -1.668941
    2011-01-08         NaN
    2011-01-09   -2.454490
    2011-01-10         NaN
    dtype: float64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值