@@ -825,7 +825,7 @@ def take(self, indices, axis=0, allow_fill=True, fill_value=None, **kwargs):
825
825
taken = algos .take (
826
826
self ._values , indices , allow_fill = allow_fill , fill_value = self ._na_value
827
827
)
828
- return self . _shallow_copy (taken )
828
+ return type ( self ). _simple_new (taken , name = self . name )
829
829
830
830
@final
831
831
def _maybe_disallow_fill (self , allow_fill : bool , fill_value , indices ) -> bool :
@@ -893,7 +893,9 @@ def _maybe_disallow_fill(self, allow_fill: bool, fill_value, indices) -> bool:
893
893
def repeat (self , repeats , axis = None ):
894
894
repeats = ensure_platform_int (repeats )
895
895
nv .validate_repeat ((), {"axis" : axis })
896
- return self ._shallow_copy (self ._values .repeat (repeats ))
896
+ res_values = self ._values .repeat (repeats )
897
+
898
+ return type (self )._simple_new (res_values , name = self .name )
897
899
898
900
# --------------------------------------------------------------------
899
901
# Copying Methods
@@ -2463,7 +2465,8 @@ def dropna(self, how="any"):
2463
2465
raise ValueError (f"invalid how option: { how } " )
2464
2466
2465
2467
if self .hasnans :
2466
- return self ._shallow_copy (self ._values [~ self ._isnan ])
2468
+ res_values = self ._values [~ self ._isnan ]
2469
+ return type (self )._simple_new (res_values , name = self .name )
2467
2470
return self ._shallow_copy ()
2468
2471
2469
2472
# --------------------------------------------------------------------
@@ -4556,7 +4559,7 @@ def putmask(self, mask, value):
4556
4559
return self .astype (object ).putmask (mask , value )
4557
4560
4558
4561
np .putmask (values , mask , converted )
4559
- return self . _shallow_copy (values )
4562
+ return type ( self ). _simple_new (values , name = self . name )
4560
4563
4561
4564
def equals (self , other : Any ) -> bool :
4562
4565
"""
@@ -5718,7 +5721,8 @@ def delete(self, loc):
5718
5721
>>> idx.delete([0, 2])
5719
5722
Index(['b'], dtype='object')
5720
5723
"""
5721
- return self ._shallow_copy (np .delete (self ._data , loc ))
5724
+ res_values = np .delete (self ._data , loc )
5725
+ return type (self )._simple_new (res_values , name = self .name )
5722
5726
5723
5727
def insert (self , loc : int , item ):
5724
5728
"""
0 commit comments