pydata/pandas — pull request #6605 by dalejung (2014-03-11 20:10:41+00:00)
Title: Change Panel.shift to use NDFrame.shift

This brings `Panel.shift` in line with `DataFrame.shift`. The shifted data retains the same dimensions/indexes and doesn't drop the empty rows. So I have two concerns.

1. This is an API change and could conceivably break existing code.
2. The perf regresses quite a bit.

Here is the vbench.
```
-------------------------------------------------------------------------------
Test name | head[ms] | base[ms] | ratio |
-------------------------------------------------------------------------------
panel_shift | 578.2867 | 0.0773 | 7478.4491 |
-------------------------------------------------------------------------------
Test name | head[ms] | base[ms] | ratio |
-------------------------------------------------------------------------------
```

The previous implementation did not create a copy and thus had a constant time. The general shift scales linearly.

I think the current implementation just defers work done in later alignments, but I can only speak to my own workflow.