@@ -2483,3 +2483,41 @@ def test_xs_frame_new() -> None:
2483
2483
s2 = df .xs ("num_wings" , axis = 1 )
2484
2484
check (assert_type (s1 , Union [pd .Series , pd .DataFrame ]), pd .DataFrame )
2485
2485
check (assert_type (s2 , Union [pd .Series , pd .DataFrame ]), pd .Series )
2486
+
2487
+
2488
+ def test_align () -> None :
2489
+ df0 = pd .DataFrame (
2490
+ data = np .array (
2491
+ [
2492
+ ["A0" , "A1" , "A2" , "A3" ],
2493
+ ["B0" , "B1" , "B2" , "B3" ],
2494
+ ["C0" , "C1" , "C2" , "C3" ],
2495
+ ]
2496
+ ).T ,
2497
+ index = [0 , 1 , 2 , 3 ],
2498
+ columns = ["A" , "B" , "C" ],
2499
+ )
2500
+
2501
+ s0 = pd .Series (data = {1 : "1" , 3 : "3" , 5 : "5" })
2502
+ aligned_df0 , aligned_s0 = df0 .align (s0 , axis = "index" )
2503
+ check (assert_type (aligned_df0 , pd .DataFrame ), pd .DataFrame )
2504
+ check (assert_type (aligned_s0 , pd .Series ), pd .Series )
2505
+
2506
+ s1 = pd .Series (data = {"A" : "A" , "D" : "D" })
2507
+ aligned_df0 , aligned_s1 = df0 .align (s1 , axis = "columns" )
2508
+ check (assert_type (aligned_df0 , pd .DataFrame ), pd .DataFrame )
2509
+ check (assert_type (aligned_s1 , pd .Series ), pd .Series )
2510
+
2511
+ df1 = pd .DataFrame (
2512
+ data = np .array (
2513
+ [
2514
+ ["A1" , "A3" , "A5" ],
2515
+ ["D1" , "D3" , "D5" ],
2516
+ ]
2517
+ ).T ,
2518
+ index = [1 , 3 , 5 ],
2519
+ columns = ["A" , "D" ],
2520
+ )
2521
+ aligned_df0 , aligned_df1 = df0 .align (df1 )
2522
+ check (assert_type (aligned_df0 , pd .DataFrame ), pd .DataFrame )
2523
+ check (assert_type (aligned_df1 , pd .DataFrame ), pd .DataFrame )
0 commit comments