@@ -10489,6 +10489,8 @@ def test_rank2(self):
1048910489 [datetime (2000 , 1 , 2 ), datetime (2000 , 1 , 3 ),
1049010490 datetime (2000 , 1 , 1 )]]
1049110491 df = DataFrame (data )
10492+
10493+ # check the rank
1049210494 expected = DataFrame ([[2. , nan , 1. ],
1049310495 [2. , 3. , 1. ]])
1049410496 result = df .rank (1 , numeric_only = False )
@@ -10497,14 +10499,6 @@ def test_rank2(self):
1049710499 # mixed-type frames
1049810500 self .mixed_frame ['datetime' ] = datetime .now ()
1049910501 self .mixed_frame ['timedelta' ] = timedelta (days = 1 ,seconds = 1 )
10500- self .assert_ (self .mixed_frame ['datetime' ].dtype == 'M8[ns]' )
10501- self .assert_ (self .mixed_frame ['timedelta' ].dtype == 'm8[ns]' )
10502- result = self .mixed_frame .get_dtype_counts ().order ()
10503- expected = Series ({ 'float64' : 4 ,
10504- 'object' : 1 ,
10505- 'datetime64[ns]' : 1 ,
10506- 'timedelta64[ns]' : 1 }).order ()
10507- assert_series_equal (result ,expected )
1050810502
1050910503 result = self .mixed_frame .rank (1 )
1051010504 expected = self .mixed_frame .rank (1 , numeric_only = True )
@@ -11097,6 +11091,31 @@ def test_constructor_with_convert(self):
1109711091 None ], np .object_ ))
1109811092 assert_series_equal (result , expected )
1109911093
11094+ def test_construction_with_mixed (self ):
11095+ # test construction edge cases with mixed types
11096+
11097+ # f7u12, this does not work without extensive workaround
11098+ data = [[datetime (2001 , 1 , 5 ), nan , datetime (2001 , 1 , 2 )],
11099+ [datetime (2000 , 1 , 2 ), datetime (2000 , 1 , 3 ),
11100+ datetime (2000 , 1 , 1 )]]
11101+ df = DataFrame (data )
11102+
11103+ # check dtypes
11104+ result = df .get_dtype_counts ().order ()
11105+ expected = Series ({ 'datetime64[ns]' : 3 })
11106+
11107+ # mixed-type frames
11108+ self .mixed_frame ['datetime' ] = datetime .now ()
11109+ self .mixed_frame ['timedelta' ] = timedelta (days = 1 ,seconds = 1 )
11110+ self .assert_ (self .mixed_frame ['datetime' ].dtype == 'M8[ns]' )
11111+ self .assert_ (self .mixed_frame ['timedelta' ].dtype == 'm8[ns]' )
11112+ result = self .mixed_frame .get_dtype_counts ().order ()
11113+ expected = Series ({ 'float64' : 4 ,
11114+ 'object' : 1 ,
11115+ 'datetime64[ns]' : 1 ,
11116+ 'timedelta64[ns]' : 1 }).order ()
11117+ assert_series_equal (result ,expected )
11118+
1110011119 def test_constructor_frame_copy (self ):
1110111120 cop = DataFrame (self .frame , copy = True )
1110211121 cop ['A' ] = 5
0 commit comments