Merge branch 'general-shift-4867-panel' of https://github.com/dalejun… · pandas-dev/pandas@70de129 (original) (raw)

`@@ -1116,8 +1116,7 @@ def count(self, axis='major'):

`

1116

1116

``

1117

1117

`def shift(self, lags, freq=None, axis='major'):

`

1118

1118

`"""

`

1119

``

`-

Shift major or minor axis by specified number of leads/lags. Drops

`

1120

``

`-

periods right now compared with DataFrame.shift

`

``

1119

`+

Shift major or minor axis by specified number of leads/lags.

`

1121

1120

``

1122

1121

` Parameters

`

1123

1122

` ----------

`

`@@ -1128,35 +1127,13 @@ def shift(self, lags, freq=None, axis='major'):

`

1128

1127

` -------

`

1129

1128

` shifted : Panel

`

1130

1129

` """

`

1131

``

`-

values = self.values

`

1132

``

`-

items = self.items

`

1133

``

`-

major_axis = self.major_axis

`

1134

``

`-

minor_axis = self.minor_axis

`

1135

``

-

1136

1130

`if freq:

`

1137

1131

`return self.tshift(lags, freq, axis=axis)

`

1138

1132

``

1139

``

`-

if lags > 0:

`

1140

``

`-

vslicer = slice(None, -lags)

`

1141

``

`-

islicer = slice(lags, None)

`

1142

``

`-

elif lags == 0:

`

1143

``

`-

vslicer = islicer = slice(None)

`

1144

``

`-

else:

`

1145

``

`-

vslicer = slice(-lags, None)

`

1146

``

`-

islicer = slice(None, lags)

`

1147

``

-

1148

``

`-

axis = self._get_axis_name(axis)

`

1149

``

`-

if axis == 'major_axis':

`

1150

``

`-

values = values[:, vslicer, :]

`

1151

``

`-

major_axis = major_axis[islicer]

`

1152

``

`-

elif axis == 'minor_axis':

`

1153

``

`-

values = values[:, :, vslicer]

`

1154

``

`-

minor_axis = minor_axis[islicer]

`

1155

``

`-

else:

`

``

1133

`+

if axis == 'items':

`

1156

1134

`raise ValueError('Invalid axis')

`

1157

1135

``

1158

``

`-

return self._constructor(values, items=items, major_axis=major_axis,

`

1159

``

`-

minor_axis=minor_axis)

`

``

1136

`+

return super(Panel, self).shift(lags, freq=freq, axis=axis)

`

1160

1137

``

1161

1138

`def tshift(self, periods=1, freq=None, axis='major', **kwds):

`

1162

1139

`return super(Panel, self).tshift(periods, freq, axis, **kwds)

`