@@ -821,6 +821,39 @@ def test_constructor_convert_index_once(self):
821821 sdf = SparseDataFrame (columns = range (4 ), index = arr )
822822 self .assertTrue (sdf [0 ].index is sdf [1 ].index )
823823
824+ def test_constructor_from_series (self ):
825+
826+ # GH 2873
827+ x = Series (np .random .randn (10000 ), name = 'a' )
828+ x = x .to_sparse (fill_value = 0 )
829+ self .assert_ (isinstance (x ,SparseSeries ))
830+ df = SparseDataFrame (x )
831+ self .assert_ (isinstance (df ,SparseDataFrame ))
832+
833+ x = Series (np .random .randn (10000 ), name = 'a' )
834+ y = Series (np .random .randn (10000 ), name = 'b' )
835+ x .ix [:9998 ] = 0
836+ x = x .to_sparse (fill_value = 0 )
837+
838+ # currently fails
839+ #df1 = SparseDataFrame([x, y])
840+
841+ def test_dtypes (self ):
842+ df = DataFrame (np .random .randn (10000 , 4 ))
843+ df .ix [:9998 ] = np .nan
844+ sdf = df .to_sparse ()
845+
846+ result = sdf .get_dtype_counts ()
847+ expected = Series ({ 'float64' : 4 })
848+ assert_series_equal (result , expected )
849+
850+ def test_str (self ):
851+ df = DataFrame (np .random .randn (10000 , 4 ))
852+ df .ix [:9998 ] = np .nan
853+ sdf = df .to_sparse ()
854+
855+ str (sdf )
856+
824857 def test_array_interface (self ):
825858 res = np .sqrt (self .frame )
826859 dres = np .sqrt (self .frame .to_dense ())
0 commit comments