@@ -1174,6 +1174,17 @@ def test_constructor(self):
1174
1174
df = DataFrame (data = {})
1175
1175
self .assert_ (len (df .index ) == 0 )
1176
1176
1177
+ def test_list_to_sdict (self ):
1178
+ from pandas .core .frame import _list_to_sdict
1179
+
1180
+ d , c = _list_to_sdict ([], None )
1181
+ self .assertEquals (d , {})
1182
+ self .assertEquals (c , [])
1183
+
1184
+ d , c = _list_to_sdict ([], [])
1185
+ self .assertEquals (d , {})
1186
+ self .assertEquals (c , [])
1187
+
1177
1188
def test_constructor_mixed (self ):
1178
1189
index , data = tm .getMixedTypeDict ()
1179
1190
@@ -1536,8 +1547,8 @@ def test_constructor_list_of_series(self):
1536
1547
data = [Series (d ) for d in data ]
1537
1548
1538
1549
result = DataFrame (data )
1539
- expected = DataFrame . from_dict ( dict (zip (range (len (data )), data )),
1540
- orient = 'index' )
1550
+ sdict = dict (zip (range (len (data )), data ))
1551
+ expected = DataFrame . from_dict ( sdict , orient = 'index' )
1541
1552
assert_frame_equal (result , expected .reindex (result .index ))
1542
1553
1543
1554
result2 = DataFrame (data , index = np .arange (6 ))
@@ -1547,6 +1558,15 @@ def test_constructor_list_of_series(self):
1547
1558
expected = DataFrame (index = [0 ])
1548
1559
assert_frame_equal (result , expected )
1549
1560
1561
+ data = [{'a' : 1.5 , 'b' : 3.0 , 'c' :4.0 },
1562
+ {'a' : 1.5 , 'b' : 3.0 , 'c' :6.0 }]
1563
+ sdict = dict (zip (range (len (data )), data ))
1564
+ idx = Index (['a' , 'b' , 'c' ])
1565
+ data2 = [Series ([1.5 , 3 , 4 ], idx , dtype = 'O' ),
1566
+ Series ([1.5 , 3 , 6 ], idx )]
1567
+ result = DataFrame (data2 )
1568
+ expected = DataFrame .from_dict (sdict , orient = 'index' )
1569
+ assert_frame_equal (result , expected )
1550
1570
1551
1571
def test_constructor_ragged (self ):
1552
1572
data = {'A' : randn (10 ),
@@ -1893,6 +1913,10 @@ def test_repr(self):
1893
1913
1894
1914
fmt .set_printoptions (max_rows = 10 , max_columns = 2 )
1895
1915
repr (self .frame )
1916
+
1917
+ fmt .set_printoptions (max_rows = 1000 , max_columns = 1000 )
1918
+ repr (self .frame )
1919
+
1896
1920
fmt .reset_printoptions ()
1897
1921
1898
1922
def test_head_tail (self ):
@@ -3302,6 +3326,21 @@ def test_align(self):
3302
3326
af , bf = self .frame .align (other , join = 'inner' , axis = 1 )
3303
3327
self .assert_ (bf .columns .equals (other .columns ))
3304
3328
3329
+ af , bf = self .frame .align (other , join = 'inner' , axis = 1 , method = 'pad' )
3330
+ self .assert_ (bf .columns .equals (other .columns ))
3331
+
3332
+ # test other non-float types
3333
+ af , bf = self .intframe .align (other , join = 'inner' , axis = 1 , method = 'pad' )
3334
+ self .assert_ (bf .columns .equals (other .columns ))
3335
+
3336
+ af , bf = self .mixed_frame .align (self .mixed_frame ,
3337
+ join = 'inner' , axis = 1 , method = 'pad' )
3338
+ self .assert_ (bf .columns .equals (self .mixed_frame .columns ))
3339
+
3340
+ af , bf = self .frame .align (other .ix [:,0 ], join = 'inner' , axis = 1 ,
3341
+ method = None , fill_value = None )
3342
+ self .assert_ (bf .index .equals (Index ([])))
3343
+
3305
3344
# try to align dataframe to series along bad axis
3306
3345
self .assertRaises (ValueError , self .frame .align , af .ix [0 ,:3 ],
3307
3346
join = 'inner' , axis = 2 )
@@ -4614,6 +4653,13 @@ def test_consolidate(self):
4614
4653
self .frame .consolidate (inplace = True )
4615
4654
self .assert_ (len (self .frame ._data .blocks ) == 1 )
4616
4655
4656
+ def test_consolidate_inplace (self ):
4657
+ frame = self .frame .copy ()
4658
+
4659
+ # triggers in-place consolidation
4660
+ for letter in range (ord ('A' ), ord ('Z' )):
4661
+ self .frame [chr (letter )] = chr (letter )
4662
+
4617
4663
def test_as_matrix_consolidate (self ):
4618
4664
self .frame ['E' ] = 7.
4619
4665
self .assert_ (not self .frame ._data .is_consolidated ())
0 commit comments