@@ -883,50 +883,63 @@ def test_reindex_multi(self):
883
883
884
884
def test_align_broadcast_axis (self ):
885
885
# GH 13194
886
- # For 'outer' join
886
+ # First four tests for DataFrame.align(Index)
887
+ # For 'right' join
887
888
df = DataFrame (np .array ([[1. , 2. ], [3. , 4. ]]), columns = list ('AB' ))
888
889
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 )
892
892
expected1 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ],
893
893
[pd .np .nan , pd .np .nan ]]),
894
894
columns = list ('AB' ))
895
895
expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ], [7. , 7. ]]),
896
896
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 )
899
899
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 )
904
902
expected1 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ]]),
905
903
columns = list ('AB' ))
906
- expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ]]),
904
+ expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ],
905
+ [7. , 7. ]]),
907
906
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 )
910
909
911
910
# For 'left' join
912
911
result = df .align (ts , join = 'left' , axis = 0 , broadcast_axis = 1 )
913
- result1 = DataFrame (result [0 ])
914
- result2 = DataFrame (result [1 ])
915
912
expected1 = DataFrame (np .array ([[1. , 2. ], [3. , 4. ]]),
916
913
columns = list ('AB' ))
917
914
expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ]]),
918
915
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 )
921
918
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. ]]),
928
922
columns = list ('AB' ))
929
923
expected2 = DataFrame (np .array ([[5. , 5. ], [6. , 6. ], [7. , 7. ]]),
930
924
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