2014-02-16 161 views
-1

熊猫新手。我有一个与日期相关的列表L,现在我想根据输入时间范围获取L的一个子集。熊猫数据处理date_range对象

例如,L是按日期排序的365个元素的列表,即基于日期的一年数据。

date = pandas.date_range(start = '1/1/2013', end = '12/31/2013', freq='D') 
desiredDate = pandas.date_range(start = '4/2/2013', end = '6/5/2013', freq='D') 

如何从L中选择指定desiredDate的元素的列表?

我在想的是得到2个日期obj,一个开始= 1/1,但结束日期= 4/2/2013,找出它的长度。 另一个是start = 1/1,但结束日期= 6.5,再找出它的长度。那么这个问题就可以解决了。如果有人知道一些熊猫库函数在一个更优雅的方式来解决这个问题,请回复,谢谢

非常感谢

回答

0

从我所看到的,pandas索引对象支持相同的方法,会员如蟒蛇set()对象如交集,联合,差异和对称差异。尝试在两个DatetimeIndex对象上使用交集操作符(&)。

In [9]: date = pandas.date_range(start = '1/1/2013', end = '12/31/2013', freq='D') 

In [10]: desiredDate = pandas.date_range(start = '4/2/2013', end = '6/5/2013', freq='D') 

In [11]: date & desiredDate 
Out[11]: 
<class 'pandas.tseries.index.DatetimeIndex'> 
[2013-04-02, ..., 2013-06-05] 
Length: 65, Freq: D, Timezone: None 

In [12]: len(desiredDate) 
Out[12]: 65 

In [13]: len(date & desiredDate) 
Out[13]: 65