@@ -1550,6 +1550,25 @@ def test_setitem_single_column_mixed_datetime(self):
1550
1550
# pytest.raises(
1551
1551
# Exception, df.loc.__setitem__, ('d', 'timestamp'), [nan])
1552
1552
1553
+ def test_setitem_mixed_datetime (self ):
1554
+ # GH 9336
1555
+ expected = DataFrame ({'a' : [0 , 0 , 0 , 0 , 13 , 14 ],
1556
+ 'b' : [pd .datetime (2012 , 1 , 1 ),
1557
+ 1 ,
1558
+ 'x' ,
1559
+ 'y' ,
1560
+ pd .datetime (2013 , 1 , 1 ),
1561
+ pd .datetime (2014 , 1 , 1 )]})
1562
+ df = pd .DataFrame (0 , columns = list ('ab' ), index = range (6 ))
1563
+ df ['b' ] = pd .NaT
1564
+ df .loc [0 , 'b' ] = pd .datetime (2012 , 1 , 1 )
1565
+ df .loc [1 , 'b' ] = 1
1566
+ df .loc [[2 , 3 ], 'b' ] = 'x' , 'y'
1567
+ A = np .array ([[13 , np .datetime64 ('2013-01-01T00:00:00' )],
1568
+ [14 , np .datetime64 ('2014-01-01T00:00:00' )]])
1569
+ df .loc [[4 , 5 ], ['a' , 'b' ]] = A
1570
+ assert_frame_equal (df , expected )
1571
+
1553
1572
def test_setitem_frame (self ):
1554
1573
piece = self .frame .loc [self .frame .index [:2 ], ['A' , 'B' ]]
1555
1574
self .frame .loc [self .frame .index [- 2 ]:, ['A' , 'B' ]] = piece .values
0 commit comments