From 48cd7e2388471e9229fb32e504b0abb121de8f28 Mon Sep 17 00:00:00 2001 From: Matt Roeschke Date: Sun, 18 Dec 2016 14:57:32 -0800 Subject: [PATCH] TST:Test to_sparse with nan dataframe (#10079) --- 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 5cc765a2c1cf3..ab12099b5624d 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