@@ -883,50 +883,63 @@ def test_reindex_multi(self):
883883
884884 def test_align_broadcast_axis (self ):
885885 # GH 13194
886- # For 'outer' join
886+ # First four tests for DataFrame.align(Index)
887+ # For 'right' join
887888 df = DataFrame (np .array ([[1. , 2. ], [3. , 4. ]]), columns = list ('AB' ))
888889 ts = Series ([5. , 6. , 7. ])
889- result = df .align (ts , join = 'outer' , axis = 0 , broadcast_axis = 1 )
890- result1 = DataFrame (result [0 ])
891- result2 = DataFrame (result [1 ])
890+
891+ result = df .align (ts , join = 'right' , axis = 0 , broadcast_axis = 1 )
892892 expected1 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ],
893893 [pd .np .nan , pd .np .nan ]]),
894894 columns = list ('AB' ))
895895 expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ], [7. , 7. ]]),
896896 columns = list ('AB' ))
897- assert_frame_equal (result1 , expected1 )
898- assert_frame_equal (result2 , expected2 )
897+ assert_frame_equal (result [ 0 ] , expected1 )
898+ assert_frame_equal (result [ 1 ] , expected2 )
899899
900- # For 'inner' join
901- result = df .align (ts , join = 'inner' , axis = 0 , broadcast_axis = 1 )
902- result1 = DataFrame (result [0 ])
903- result2 = DataFrame (result [1 ])
900+ # For 'right' join on different index
901+ result = df .align (ts , join = 'right' , axis = 1 , broadcast_axis = 1 )
904902 expected1 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ]]),
905903 columns = list ('AB' ))
906- expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ]]),
904+ expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ],
905+ [7. , 7. ]]),
907906 columns = list ('AB' ))
908- assert_frame_equal (result1 , expected1 )
909- assert_frame_equal (result2 , expected2 )
907+ assert_frame_equal (result [ 0 ] , expected1 )
908+ assert_frame_equal (result [ 1 ] , expected2 )
910909
911910 # For 'left' join
912911 result = df .align (ts , join = 'left' , axis = 0 , broadcast_axis = 1 )
913- result1 = DataFrame (result [0 ])
914- result2 = DataFrame (result [1 ])
915912 expected1 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ]]),
916913 columns = list ('AB' ))
917914 expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ]]),
918915 columns = list ('AB' ))
919- assert_frame_equal (result1 , expected1 )
920- assert_frame_equal (result2 , expected2 )
916+ assert_frame_equal (result [ 0 ] , expected1 )
917+ assert_frame_equal (result [ 1 ] , expected2 )
921918
922- # For 'right' join
923- result = df .align (ts , join = 'right' , axis = 0 , broadcast_axis = 1 )
924- result1 = DataFrame (result [0 ])
925- result2 = DataFrame (result [1 ])
926- expected1 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ],
927- [pd .np .nan , pd .np .nan ]]),
919+ # For 'left' join on different axis
920+ result = df .align (ts , join = 'left' , axis = 1 , broadcast_axis = 1 )
921+ expected1 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ]]),
928922 columns = list ('AB' ))
929923 expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ], [7. , 7. ]]),
930924 columns = list ('AB' ))
931- assert_frame_equal (result1 , expected1 )
932- assert_frame_equal (result2 , expected2 )
925+ assert_frame_equal (result [0 ], expected1 )
926+ assert_frame_equal (result [1 ], expected2 )
927+
928+ # Series.align(DataFrame) tests, 'outer' join
929+ result = ts .align (df , join = 'outer' , axis = 0 , broadcast_axis = 1 )
930+ expected1 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ], [7. , 7. ]]),
931+ columns = list ('AB' ))
932+ expected2 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ],
933+ [pd .np .nan , pd .np .nan ]]),
934+ columns = list ('AB' ))
935+ assert_frame_equal (result [0 ], expected1 )
936+ assert_frame_equal (result [1 ], expected2 )
937+
938+ # Series.align(DataFrame) tests, 'inner' join
939+ result = ts .align (df , join = 'inner' , axis = 0 , broadcast_axis = 1 )
940+ expected1 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ]]),
941+ columns = list ('AB' ))
942+ expected2 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ]]),
943+ columns = list ('AB' ))
944+ assert_frame_equal (result [0 ], expected1 )
945+ assert_frame_equal (result [1 ], expected2 )
0 commit comments