From 71a5c59cbb435613f56299b40f23252109be0df0 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke Date: Mon, 19 Dec 2016 03:20:42 -0800 Subject: [PATCH] TST:Test to_sparse with nan dataframe (#10079) (#14913) --- pandas/sparse/tests/test_frame.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pandas/sparse/tests/test_frame.py b/pandas/sparse/tests/test_frame.py index 5cc765a2c1cf3f..ab12099b5624de 100644 --- a/pandas/sparse/tests/test_frame.py +++ b/pandas/sparse/tests/test_frame.py @@ -215,6 +215,21 @@ def test_constructor_preserve_attr(self): self.assertEqual(df['x'].dtype, np.int64) self.assertEqual(df['x'].fill_value, 0) + def test_constructor_nan_dataframe(self): + # GH 10079 + trains = np.arange(100) + tresholds = [10, 20, 30, 40, 50, 60] + tuples = [(i, j) for i in trains for j in tresholds] + index = pd.MultiIndex.from_tuples(tuples, + names=['trains', 'tresholds']) + matrix = np.empty((len(index), len(trains))) + matrix.fill(np.nan) + df = pd.DataFrame(matrix, index=index, columns=trains, dtype=float) + result = df.to_sparse() + expected = pd.SparseDataFrame(matrix, index=index, columns=trains, + dtype=float) + tm.assert_sp_frame_equal(result, expected) + def test_dtypes(self): df = DataFrame(np.random.randn(10000, 4)) df.ix[:9998] = np.nan