@@ -363,24 +363,26 @@ def test_divide_by_zero(self, zero, negative):
363
363
tm .assert_numpy_array_equal (result , expected )
364
364
365
365
def test_pow_scalar (self ):
366
- a = pd .array ([0 , 1 , None , 2 ], dtype = "Int64" )
366
+ a = pd .array ([- 1 , 0 , 1 , None , 2 ], dtype = "Int64" )
367
367
result = a ** 0
368
- expected = pd .array ([1 , 1 , 1 , 1 ], dtype = "Int64" )
368
+ expected = pd .array ([1 , 1 , 1 , 1 , 1 ], dtype = "Int64" )
369
369
tm .assert_extension_array_equal (result , expected )
370
370
371
371
result = a ** 1
372
- expected = pd .array ([0 , 1 , None , 2 ], dtype = "Int64" )
372
+ expected = pd .array ([- 1 , 0 , 1 , None , 2 ], dtype = "Int64" )
373
373
tm .assert_extension_array_equal (result , expected )
374
374
375
375
result = a ** pd .NA
376
- expected = pd .array ([None , 1 , None , None ], dtype = "Int64" )
376
+ expected = pd .array ([None , None , 1 , None , None ], dtype = "Int64" )
377
377
tm .assert_extension_array_equal (result , expected )
378
378
379
379
result = a ** np .nan
380
- expected = np .array ([np .nan , 1 , np .nan , np .nan ], dtype = "float64" )
380
+ expected = np .array ([np .nan , np . nan , 1 , np .nan , np .nan ], dtype = "float64" )
381
381
tm .assert_numpy_array_equal (result , expected )
382
382
383
383
# reversed
384
+ a = a [1 :] # Can't raise integers to negative powers.
385
+
384
386
result = 0 ** a
385
387
expected = pd .array ([1 , 0 , None , 0 ], dtype = "Int64" )
386
388
tm .assert_extension_array_equal (result , expected )
0 commit comments