@@ -1453,19 +1453,23 @@ def test_from_records_to_records(self):
1453
1453
self .assertEqual (len (records .dtype .names ), 2 )
1454
1454
self .assert_ ('index' not in records .dtype .names )
1455
1455
1456
- def test_from_records_tuples (self ):
1456
+ def test_from_records_sequencelike (self ):
1457
1457
df = DataFrame ({'A' : np .random .randn (6 ),
1458
1458
'B' : np .arange (6 ),
1459
1459
'C' : ['foo' ] * 6 ,
1460
1460
'D' : np .array ([True , False ] * 3 , dtype = bool )})
1461
1461
1462
1462
tuples = [tuple (x ) for x in df .values ]
1463
1463
lists = [list (x ) for x in tuples ]
1464
+ asdict = dict ((x ,y ) for x , y in df .iteritems ())
1464
1465
1465
1466
result = DataFrame .from_records (tuples , columns = df .columns )
1466
1467
result2 = DataFrame .from_records (lists , columns = df .columns )
1468
+ result3 = DataFrame .from_records (asdict , columns = df .columns )
1469
+
1467
1470
assert_frame_equal (result , df )
1468
1471
assert_frame_equal (result2 , df )
1472
+ assert_frame_equal (result3 , df )
1469
1473
1470
1474
result = DataFrame .from_records (tuples )
1471
1475
self .assert_ (np .array_equal (result .columns , range (4 )))
@@ -3474,6 +3478,11 @@ def test_count(self):
3474
3478
expected = Series (0 , index = df .columns )
3475
3479
assert_series_equal (result , expected )
3476
3480
3481
+ df = DataFrame ()
3482
+ result = df .count ()
3483
+ expected = Series (0 , index = [])
3484
+ assert_series_equal (result , expected )
3485
+
3477
3486
def test_sum (self ):
3478
3487
self ._check_stat_op ('sum' , np .sum , has_numeric_only = True )
3479
3488
@@ -3663,6 +3672,10 @@ def test_quantile(self):
3663
3672
q = self .intframe .quantile (0.1 )
3664
3673
self .assertEqual (q ['A' ], scoreatpercentile (self .intframe ['A' ], 10 ))
3665
3674
3675
+ # test degenerate case
3676
+ q = DataFrame ({'x' :[],'y' :[]}).quantile (0.1 , axis = 0 )
3677
+ assert (np .isnan (q ['x' ]) and np .isnan (q ['y' ]))
3678
+
3666
3679
def test_cumsum (self ):
3667
3680
self .tsframe .ix [5 :10 , 0 ] = nan
3668
3681
self .tsframe .ix [10 :15 , 1 ] = nan
@@ -4095,11 +4108,11 @@ def test_idxmin(self):
4095
4108
for skipna in [True , False ]:
4096
4109
for axis in [0 , 1 ]:
4097
4110
for df in [frame , self .intframe ]:
4098
- result = df .idxmax (axis = axis , skipna = skipna )
4099
- expected = df .apply (Series .idxmax , axis = axis , skipna = skipna )
4111
+ result = df .idxmin (axis = axis , skipna = skipna )
4112
+ expected = df .apply (Series .idxmin , axis = axis , skipna = skipna )
4100
4113
assert_series_equal (result , expected )
4101
4114
4102
- self .assertRaises (Exception , frame .idxmax , axis = 2 )
4115
+ self .assertRaises (Exception , frame .idxmin , axis = 2 )
4103
4116
4104
4117
def test_idxmax (self ):
4105
4118
frame = self .frame
0 commit comments