@@ -821,6 +821,39 @@ def test_constructor_convert_index_once(self):
821
821
sdf = SparseDataFrame (columns = range (4 ), index = arr )
822
822
self .assertTrue (sdf [0 ].index is sdf [1 ].index )
823
823
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
+
824
857
def test_array_interface (self ):
825
858
res = np .sqrt (self .frame )
826
859
dres = np .sqrt (self .frame .to_dense ())
0 commit comments