@@ -915,6 +915,34 @@ def test_listlike_lambda(ops, by_row, expected):
915915 tm .assert_equal (result , expected )
916916
917917
918+ def test_listlike_datetime_index_unsorted ():
919+ values = [datetime (2024 , 1 , 1 ), datetime (2024 , 1 , 2 )]
920+ df = DataFrame ({"a" : [1 , 2 ]}, index = [values [1 ], values [0 ]])
921+ result = df .apply ([lambda x : x ], by_row = False )
922+ expected = DataFrame (
923+ [[1 ], [2 ]],
924+ index = [values [1 ], values [0 ]],
925+ columns = MultiIndex ([["a" ], ["<lambda>" ]], codes = [[0 ], [0 ]]),
926+ )
927+ tm .assert_frame_equal (result , expected )
928+
929+
930+ def test_dictlike_datetime_index_unsorted ():
931+ values = [datetime (2024 , 1 , 1 ), datetime (2024 , 1 , 2 ), datetime (2024 , 1 , 3 )]
932+ df = DataFrame ({"a" : [1 , 2 ], "b" : [3 , 4 ]}, index = [values [1 ], values [0 ]])
933+ result = df .apply (
934+ {"a" : lambda x : x , "b" : lambda x : x .shift (freq = "D" )}, by_row = False
935+ )
936+ expected = DataFrame (
937+ {
938+ "a" : [1.0 , 2.0 , np .nan ],
939+ "b" : [4.0 , np .nan , 3.0 ],
940+ },
941+ index = [values [1 ], values [0 ], values [2 ]],
942+ )
943+ tm .assert_frame_equal (result , expected )
944+
945+
918946@pytest .mark .parametrize (
919947 "ops" ,
920948 [
0 commit comments