File tree 2 files changed +14
-8
lines changed
2 files changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -235,19 +235,25 @@ def __setstate__(self, state):
235
235
self ._minor_axis = _ensure_index (com ._unpickle_array (minor ))
236
236
self ._frames = frames
237
237
238
- def copy (self ):
238
+ def copy (self , deep = True ):
239
239
"""
240
- Make a (shallow) copy of the sparse panel
240
+ Make a copy of the sparse panel
241
241
242
242
Returns
243
243
-------
244
244
copy : SparsePanel
245
245
"""
246
- return SparsePanel (self ._frames .copy (), items = self .items ,
247
- major_axis = self .major_axis ,
248
- minor_axis = self .minor_axis ,
249
- default_fill_value = self .default_fill_value ,
250
- default_kind = self .default_kind )
246
+
247
+ d = self ._construct_axes_dict ()
248
+ if deep :
249
+ new_data = dict ((k , v .copy (deep = True )) for k , v in compat .iteritems (self ._frames ))
250
+ d = dict ((k , v .copy (deep = True )) for k , v in compat .iteritems (d ))
251
+ else :
252
+ new_data = self ._frames .copy ()
253
+ d ['default_fill_value' ]= self .default_fill_value
254
+ d ['default_kind' ]= self .default_kind
255
+
256
+ return SparsePanel (new_data , ** d )
251
257
252
258
def to_frame (self , filter_observations = True ):
253
259
"""
Original file line number Diff line number Diff line change @@ -520,7 +520,7 @@ def copy(self, deep=True):
520
520
if deep :
521
521
new_data = self ._data .copy ()
522
522
523
- return self ._constructor (new_data , index = self . index ,
523
+ return self ._constructor (new_data ,
524
524
sparse_index = self .sp_index ,
525
525
fill_value = self .fill_value , name = self .name )
526
526
You can’t perform that action at this time.
0 commit comments