熊猫新手。我有一个与日期相关的列表L,现在我想根据输入时间范围得到L的子集。
例如,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的选择元素列表?
我在想的是获得两个日期obj,一个是start = 1/1,但结束日期= 2013年2月2日,找出它的长度。 另一个是start = 1/1,但结束日期= 6.5,再次找出它的长度。那么这个问题可能会得到解决。如果有人知道一些Pandas库函数以更优雅的方式解决这个问题,请回复,谢谢
非常感谢
答案 0 :(得分:0)
从我所看到的,pandas
索引对象支持与python 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