@@ -1116,8 +1116,7 @@ def count(self, axis='major'):
11161116
11171117 def shift (self , lags , freq = None , axis = 'major' ):
11181118 """
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.
11211120
11221121 Parameters
11231122 ----------
@@ -1128,35 +1127,13 @@ def shift(self, lags, freq=None, axis='major'):
11281127 -------
11291128 shifted : Panel
11301129 """
1131- values = self .values
1132- items = self .items
1133- major_axis = self .major_axis
1134- minor_axis = self .minor_axis
1135-
11361130 if freq :
11371131 return self .tshift (lags , freq , axis = axis )
11381132
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' :
11561134 raise ValueError ('Invalid axis' )
11571135
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 )
11601137
11611138 def tshift (self , periods = 1 , freq = None , axis = 'major' , ** kwds ):
11621139 return super (Panel , self ).tshift (periods , freq , axis , ** kwds )
0 commit comments