@@ -631,22 +631,36 @@ def test_arith_flex_frame_fill_value_corner(self, float_frame, axis):
631631 rng = np .random .default_rng (60 )
632632 mask = rng .random (float_frame .shape ) < 0.2
633633 left = float_frame .mask (mask )
634- right = left .iloc [0 ]. value
634+ right = left .iloc [0 ]
635635
636636 result = left .add (right , axis = axis , fill_value = 3 )
637637
638638 if axis == 0 : # axis = index, vertical
639- expected = result * np .nan
639+ pad_num = abs (result .shape [0 ] - len (right ))
640+ mult_num = result .shape [1 ]
641+ right_pad = np .pad (
642+ right , (0 , pad_num ), mode = "constant" , constant_values = (np .nan )
643+ )
644+ right_df = DataFrame (
645+ [right_pad ] * mult_num , columns = result .index , index = result .columns
646+ ).T
647+
648+ left = left .reindex_like (result )
640649
641650 else : # axis = columns, horizontal
642- right_df = DataFrame ([right ] * result .shape [0 ], index = result .index )
643- left_filled = left .fillna (3 )
644- right_filled = right_df .fillna (3 )
645- expected = right_filled + left_filled
646- expected = expected .mask (expected == 6 , pd .NA )
647-
648- print (result )
649- print (expected )
651+ pad_num = abs (result .shape [1 ] - len (right ))
652+ mult_num = result .shape [0 ]
653+ right_pad = np .pad (
654+ right , (0 , pad_num ), mode = "constant" , constant_values = (np .nan )
655+ )
656+ right_df = DataFrame (
657+ [right_pad ] * mult_num , index = result .index , columns = result .columns
658+ )
659+
660+ left_filled = left .fillna (3 )
661+ right_filled = right_df .fillna (3 )
662+ expected = right_filled + left_filled
663+ expected = expected .mask (expected == 6 , pd .NA )
650664
651665 tm .assert_frame_equal (result , expected )
652666
0 commit comments