使用PeriodIndex切片熊猫系列

时间:2019-07-30 14:14:15

标签: python pandas

我有一些pandas series,其中PeriodIndex的频率不同。我想根据原则上未知的另一个PeriodIndex来过滤这些频率(在下面的示例中直接指定为selectionAselectionB,但实际上从另一个{ {1}}。

我发现了3种方法,每种方法都有其缺点,如以下示例所示。有更好的方法吗?

series

非常感谢

1 个答案:

答案 0 :(得分:0)

我通过在切片范围内添加start_timeend_time来解决了这个问题:

yA_2fixed = y[selectionA[0].start_time: selectionA[-1].end_time]
qA_2fixed = q[selectionA[0].start_time: selectionA[-1].end_time] 
mA_2fixed = m[selectionA[0].start_time: selectionA[-1].end_time] #now has 24 rows
yB_2fixed = y[selectionB[0].start_time: selectionB[-1].end_time] #doesn't fail; returns empty series
qB_2fixed = q[selectionB[0].start_time: selectionB[-1].end_time] 
mB_2fixed = m[selectionB[0].start_time: selectionB[-1].end_time] #doesn't fail; returns empty series

但是,如果有一种更简洁的方式来编写此代码,我还是会听的。我特别想知道是否有可能以比PeriodIndex更“原生”的方式进行此过滤,即不首先使用datetime将其转换为start_time实例和end_time属性。