@@ -2481,7 +2481,7 @@ def f():
2481
2481
# setitem
2482
2482
df .loc (axis = 0 )[:, :, ['C1' , 'C3' ]] = - 10
2483
2483
2484
- def test_loc_arguments (self ):
2484
+ def test_loc_axis_arguments (self ):
2485
2485
2486
2486
index = MultiIndex .from_product ([_mklbl ('A' , 4 ), _mklbl ('B' , 2 ),
2487
2487
_mklbl ('C' , 4 ), _mklbl ('D' , 2 )])
@@ -2532,6 +2532,41 @@ def f():
2532
2532
2533
2533
self .assertRaises (ValueError , f )
2534
2534
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
+
2535
2570
def test_per_axis_per_level_setitem (self ):
2536
2571
2537
2572
# test index maker
0 commit comments