我有一些pandas
series
,其中PeriodIndex
的频率不同。我想根据原则上未知的另一个PeriodIndex
来过滤这些频率(在下面的示例中直接指定为selectionA
或selectionB
,但实际上从另一个{ {1}}。
我发现了3种方法,每种方法都有其缺点,如以下示例所示。有更好的方法吗?
series
非常感谢
答案 0 :(得分:0)
我通过在切片范围内添加start_time
和end_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
属性。