@@ -443,13 +443,13 @@ class ExplicitlyIndexed:
443
443
444
444
__slots__ = ()
445
445
446
+ def __array__ (self , dtype = None ):
447
+ return np .asarray (self .get_duck_array (), dtype = dtype )
448
+
446
449
447
450
class ExplicitlyIndexedNDArrayMixin (NDArrayMixin , ExplicitlyIndexed ):
448
451
__slots__ = ()
449
452
450
- def __array__ (self , dtype = None ):
451
- return np .asarray (self .get_duck_array (), dtype = dtype )
452
-
453
453
def get_duck_array (self ):
454
454
key = BasicIndexer ((slice (None ),) * self .ndim )
455
455
return self [key ]
@@ -465,7 +465,7 @@ def __init__(self, array, indexer_cls=BasicIndexer):
465
465
self .indexer_cls = indexer_cls
466
466
467
467
def __array__ (self , dtype = None ):
468
- return np .asarray (self .array , dtype = dtype )
468
+ return np .asarray (self .get_duck_array () , dtype = dtype )
469
469
470
470
def get_duck_array (self ):
471
471
return self .array .get_duck_array ()
@@ -531,9 +531,6 @@ def shape(self) -> tuple[int, ...]:
531
531
shape .append (k .size )
532
532
return tuple (shape )
533
533
534
- def __array__ (self , dtype = None ):
535
- return np .asarray (self .get_duck_array (), dtype = dtype )
536
-
537
534
def get_duck_array (self ):
538
535
array = as_indexable (self .array )
539
536
array = array [self .key ]
@@ -646,9 +643,6 @@ def _ensure_copied(self):
646
643
self .array = as_indexable (np .array (self .array ))
647
644
self ._copied = True
648
645
649
- def __array__ (self , dtype = None ):
650
- return np .asarray (self .array , dtype = dtype )
651
-
652
646
def get_duck_array (self ):
653
647
return self .array .get_duck_array ()
654
648
0 commit comments