@@ -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 )
0 commit comments