@@ -2481,7 +2481,7 @@ def f():
24812481 # setitem
24822482 df .loc (axis = 0 )[:, :, ['C1' , 'C3' ]] = - 10
24832483
2484- def test_loc_arguments (self ):
2484+ def test_loc_axis_arguments (self ):
24852485
24862486 index = MultiIndex .from_product ([_mklbl ('A' , 4 ), _mklbl ('B' , 2 ),
24872487 _mklbl ('C' , 4 ), _mklbl ('D' , 2 )])
@@ -2532,6 +2532,41 @@ def f():
25322532
25332533 self .assertRaises (ValueError , f )
25342534
2535+ def test_loc_coerceion (self ):
2536+
2537+ # 12411
2538+ df = DataFrame ({'date' : [pd .Timestamp ('20130101' ).tz_localize ('UTC' ),
2539+ pd .NaT ]})
2540+ expected = df .dtypes
2541+
2542+ result = df .iloc [[0 ]]
2543+ assert_series_equal (result .dtypes , expected )
2544+
2545+ result = df .iloc [[1 ]]
2546+ assert_series_equal (result .dtypes , expected )
2547+
2548+ # 12045
2549+ import datetime
2550+ df = DataFrame ({'date' : [datetime .datetime (2012 , 1 , 1 ),
2551+ datetime .datetime (1012 , 1 , 2 )]})
2552+ expected = df .dtypes
2553+
2554+ result = df .iloc [[0 ]]
2555+ assert_series_equal (result .dtypes , expected )
2556+
2557+ result = df .iloc [[1 ]]
2558+ assert_series_equal (result .dtypes , expected )
2559+
2560+ # 11594
2561+ df = DataFrame ({'text' : ['some words' ] + [None ] * 9 })
2562+ expected = df .dtypes
2563+
2564+ result = df .iloc [0 :2 ]
2565+ assert_series_equal (result .dtypes , expected )
2566+
2567+ result = df .iloc [3 :]
2568+ assert_series_equal (result .dtypes , expected )
2569+
25352570 def test_per_axis_per_level_setitem (self ):
25362571
25372572 # test index maker
0 commit comments