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)
`