@@ -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 ]
@@ -593,9 +590,6 @@ def __init__(self, array, key):
593
590
def shape (self ) -> tuple [int , ...]:
594
591
return np .broadcast (* self .key .tuple ).shape
595
592
596
- def __array__ (self , dtype = None ):
597
- return np .asarray (self .get_duck_array (), dtype = dtype )
598
-
599
593
def get_duck_array (self ):
600
594
array = self .array [self .key ]
601
595
if isinstance (array , ExplicitlyIndexed ):
@@ -646,9 +640,6 @@ def _ensure_copied(self):
646
640
self .array = as_indexable (np .array (self .array ))
647
641
self ._copied = True
648
642
649
- def __array__ (self , dtype = None ):
650
- return np .asarray (self .array , dtype = dtype )
651
-
652
643
def get_duck_array (self ):
653
644
return self .array .get_duck_array ()
654
645
0 commit comments