2014-02-16 109 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