我有每個實體的時間序列數據:大熊貓index.asof與多指標
id event_date value
1 2013-12-21 3.82
1 2013-12-22 2.47
1 2013-12-25 2.13
1 2014-01-03 3.92
1 2014-01-04 2.48
2 2014-10-16 3.96
2 2014-10-17 3.61
2 2014-10-29 2.59
2 2014-11-05 3.64
2 2014-11-15 2.85
我已經把它放在一個數據幀具有多指標:
value
id event_date
1 2013-12-21 3.82
2013-12-22 2.47
2013-12-25 2.13
2014-01-03 3.92
2014-01-04 2.48
2 2014-10-16 3.96
2014-10-17 3.61
2014-10-29 2.59
2014-11-05 3.64
2014-11-15 2.85
我想在每個id的系列中找到任意中斷前的最新日期(比如2014-10-31或2014-09-30之前)。 index.asof或Series.asof似乎是我想要的,但我無法弄清楚如何在多個索引中使用它。對於一個日期「2014-10-30」我想這樣的輸出:
id event_date
1 2014-01-04 00:00:00
2 2014-10-29 00:00:00
我可以遍歷第一級索引那裏,但它似乎應該有一個更好的更pandonic方式(完整數據設置非常大),我只是想念它。
In [10]: for idx in df.index.levels[0]:
....: print idx, df.loc[idx].index.asof('2014-10-30')
....:
1 2014-01-04 00:00:00
2 2014-10-29 00:00:00
沒有理由的數據必須是在這個多指標結構,只是似乎很有道理給予我會爲每個ID的時間序列。時間排序,沒有重複。
版本: 大熊貓:0.15.0 numpy的:1.9.0
謝謝。我的問題並不完全清楚。我試圖在任意中斷之前找到最新的日期。因此,例如,10月份的最近日期結束。編輯這個問題來澄清。 – 2014-11-21 19:43:24
哎呀,錯過了,但@ Primer的幫助你。 – 2014-11-22 19:56:50