@@ -10489,6 +10489,8 @@ def test_rank2(self):
10489
10489
[datetime (2000 , 1 , 2 ), datetime (2000 , 1 , 3 ),
10490
10490
datetime (2000 , 1 , 1 )]]
10491
10491
df = DataFrame (data )
10492
+
10493
+ # check the rank
10492
10494
expected = DataFrame ([[2. , nan , 1. ],
10493
10495
[2. , 3. , 1. ]])
10494
10496
result = df .rank (1 , numeric_only = False )
@@ -10497,14 +10499,6 @@ def test_rank2(self):
10497
10499
# mixed-type frames
10498
10500
self .mixed_frame ['datetime' ] = datetime .now ()
10499
10501
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 )
10508
10502
10509
10503
result = self .mixed_frame .rank (1 )
10510
10504
expected = self .mixed_frame .rank (1 , numeric_only = True )
@@ -11097,6 +11091,31 @@ def test_constructor_with_convert(self):
11097
11091
None ], np .object_ ))
11098
11092
assert_series_equal (result , expected )
11099
11093
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
+
11100
11119
def test_constructor_frame_copy (self ):
11101
11120
cop = DataFrame (self .frame , copy = True )
11102
11121
cop ['A' ] = 5
0 commit comments