Skip to content

Commit eebcb23

Browse files
committed
Moved multitype tests to sparse/tests/test_multitype.py
1 parent ac790d7 commit eebcb23

File tree

3 files changed

+88
-85
lines changed

3 files changed

+88
-85
lines changed

pandas/sparse/tests/test_multitype.py

+88
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import numpy as np
2+
import pandas as pd
3+
import pandas.util.testing as tm
4+
5+
6+
class TestSparseDataFrameMultitype(tm.TestCase):
7+
def setUp(self):
8+
super(TestSparseDataFrameMultitype, self).setUp()
9+
self.string_series = pd.SparseSeries(['a', 'b', 'c'])
10+
self.int_series = pd.SparseSeries([1, 2, 3])
11+
self.float_series = pd.SparseSeries([1.1, 1.2, 1.3])
12+
self.object_series = pd.SparseSeries([[], {}, set()])
13+
self.sdf = pd.SparseDataFrame({
14+
'string': self.string_series,
15+
'int': self.int_series,
16+
'float': self.float_series,
17+
'object': self.object_series,
18+
})
19+
self.cols = ['string', 'int', 'float', 'object']
20+
self.sdf = self.sdf[self.cols]
21+
22+
def test_basic_dtypes(self):
23+
for _, row in self.sdf.iterrows():
24+
self.assertEqual(row.dtype, object)
25+
tm.assert_sp_series_equal(self.sdf['string'], self.string_series,
26+
check_names=False)
27+
tm.assert_sp_series_equal(self.sdf['int'], self.int_series,
28+
check_names=False)
29+
tm.assert_sp_series_equal(self.sdf['float'], self.float_series,
30+
check_names=False)
31+
tm.assert_sp_series_equal(self.sdf['object'], self.object_series,
32+
check_names=False)
33+
34+
def test_indexing_single(self):
35+
tm.assert_sp_series_equal(self.sdf.iloc[0],
36+
pd.SparseSeries(['a', 1, 1.1, []],
37+
index=self.cols),
38+
check_names=False)
39+
tm.assert_sp_series_equal(self.sdf.iloc[1],
40+
pd.SparseSeries(['b', 2, 1.2, {}],
41+
index=self.cols),
42+
check_names=False)
43+
tm.assert_sp_series_equal(self.sdf.iloc[2],
44+
pd.SparseSeries(['c', 3, 1.3, set()],
45+
index=self.cols),
46+
check_names=False)
47+
48+
def test_indexing_multiple(self):
49+
tm.assert_sp_frame_equal(self.sdf, self.sdf[:])
50+
tm.assert_sp_frame_equal(self.sdf, self.sdf.loc[:])
51+
tm.assert_sp_frame_equal(self.sdf.iloc[[1, 2]],
52+
pd.SparseDataFrame({
53+
'string': self.string_series.iloc[[1, 2]],
54+
'int': self.int_series.iloc[[1, 2]],
55+
'float': self.float_series.iloc[[1, 2]],
56+
'object': self.object_series.iloc[[1, 2]]
57+
}, index=[1, 2])[self.cols])
58+
tm.assert_sp_frame_equal(self.sdf[['int', 'string']],
59+
pd.SparseDataFrame({
60+
'int': self.int_series,
61+
'string': self.string_series,
62+
}))
63+
64+
65+
class TestSparseSeriesMultitype(tm.TestCase):
66+
def setUp(self):
67+
super(TestSparseSeriesMultitype, self).setUp()
68+
self.index = ['string', 'int', 'float', 'object']
69+
self.ss = pd.SparseSeries(['a', 1, 1.1, []],
70+
index=self.index)
71+
72+
def test_indexing_single(self):
73+
for i, idx in enumerate(self.index):
74+
self.assertEqual(self.ss.iloc[i], self.ss[idx])
75+
self.assertEqual(type(self.ss.iloc[i]),
76+
type(self.ss[idx]))
77+
self.assertEqual(self.ss['string'], 'a')
78+
self.assertEqual(self.ss['int'], 1)
79+
self.assertEqual(self.ss['float'], 1.1)
80+
self.assertEqual(self.ss['object'], [])
81+
82+
def test_indexing_multiple(self):
83+
tm.assert_sp_series_equal(self.ss.loc[['string', 'int']],
84+
pd.SparseSeries(['a', 1],
85+
index=['string', 'int']))
86+
tm.assert_sp_series_equal(self.ss.loc[['string', 'object']],
87+
pd.SparseSeries(['a', []],
88+
index=['string', 'object']))

pandas/tests/frame/test_indexing.py

-59
Original file line numberDiff line numberDiff line change
@@ -2713,65 +2713,6 @@ def test_type_error_multiindex(self):
27132713
assert_series_equal(result, expected)
27142714

27152715

2716-
class TestSparseDataFrameMultitype(tm.TestCase):
2717-
def setUp(self):
2718-
super(TestSparseDataFrameMultitype, self).setUp()
2719-
self.string_series = pd.SparseSeries(['a', 'b', 'c'])
2720-
self.int_series = pd.SparseSeries([1, 2, 3])
2721-
self.float_series = pd.SparseSeries([1.1, 1.2, 1.3])
2722-
self.object_series = pd.SparseSeries([[], {}, set()])
2723-
self.sdf = pd.SparseDataFrame({
2724-
'string': self.string_series,
2725-
'int': self.int_series,
2726-
'float': self.float_series,
2727-
'object': self.object_series,
2728-
})
2729-
self.cols = ['string', 'int', 'float', 'object']
2730-
self.sdf = self.sdf[self.cols]
2731-
2732-
def test_basic_dtypes(self):
2733-
for _, row in self.sdf.iterrows():
2734-
self.assertEqual(row.dtype, object)
2735-
tm.assert_sp_series_equal(self.sdf['string'], self.string_series,
2736-
check_names=False)
2737-
tm.assert_sp_series_equal(self.sdf['int'], self.int_series,
2738-
check_names=False)
2739-
tm.assert_sp_series_equal(self.sdf['float'], self.float_series,
2740-
check_names=False)
2741-
tm.assert_sp_series_equal(self.sdf['object'], self.object_series,
2742-
check_names=False)
2743-
2744-
def test_indexing_single(self):
2745-
tm.assert_sp_series_equal(self.sdf.iloc[0],
2746-
pd.SparseSeries(['a', 1, 1.1, []],
2747-
index=self.cols),
2748-
check_names=False)
2749-
tm.assert_sp_series_equal(self.sdf.iloc[1],
2750-
pd.SparseSeries(['b', 2, 1.2, {}],
2751-
index=self.cols),
2752-
check_names=False)
2753-
tm.assert_sp_series_equal(self.sdf.iloc[2],
2754-
pd.SparseSeries(['c', 3, 1.3, set()],
2755-
index=self.cols),
2756-
check_names=False)
2757-
2758-
def test_indexing_multiple(self):
2759-
tm.assert_sp_frame_equal(self.sdf, self.sdf[:])
2760-
tm.assert_sp_frame_equal(self.sdf, self.sdf.loc[:])
2761-
tm.assert_sp_frame_equal(self.sdf.iloc[[1, 2]],
2762-
pd.SparseDataFrame({
2763-
'string': self.string_series.iloc[[1, 2]],
2764-
'int': self.int_series.iloc[[1, 2]],
2765-
'float': self.float_series.iloc[[1, 2]],
2766-
'object': self.object_series.iloc[[1, 2]]
2767-
}, index=[1, 2])[self.cols])
2768-
tm.assert_sp_frame_equal(self.sdf[['int', 'string']],
2769-
pd.SparseDataFrame({
2770-
'int': self.int_series,
2771-
'string': self.string_series,
2772-
}))
2773-
2774-
27752716
class TestDataFrameIndexingDatetimeWithTZ(tm.TestCase, TestData):
27762717

27772718
_multiprocess_can_split_ = True

pandas/tests/series/test_indexing.py

-26
Original file line numberDiff line numberDiff line change
@@ -1856,29 +1856,3 @@ def test_multilevel_preserve_name(self):
18561856
result2 = s.ix['foo']
18571857
self.assertEqual(result.name, s.name)
18581858
self.assertEqual(result2.name, s.name)
1859-
1860-
1861-
class TestSparseSeriesMultitype(tm.TestCase):
1862-
def setUp(self):
1863-
super(TestSparseSeriesMultitype, self).setUp()
1864-
self.index = ['string', 'int', 'float', 'object']
1865-
self.ss = pd.SparseSeries(['a', 1, 1.1, []],
1866-
index=self.index)
1867-
1868-
def test_indexing_single(self):
1869-
for i, idx in enumerate(self.index):
1870-
self.assertEqual(self.ss.iloc[i], self.ss[idx])
1871-
self.assertEqual(type(self.ss.iloc[i]),
1872-
type(self.ss[idx]))
1873-
self.assertEqual(self.ss['string'], 'a')
1874-
self.assertEqual(self.ss['int'], 1)
1875-
self.assertEqual(self.ss['float'], 1.1)
1876-
self.assertEqual(self.ss['object'], [])
1877-
1878-
def test_indexing_multiple(self):
1879-
tm.assert_sp_series_equal(self.ss.loc[['string', 'int']],
1880-
pd.SparseSeries(['a', 1],
1881-
index=['string', 'int']))
1882-
tm.assert_sp_series_equal(self.ss.loc[['string', 'object']],
1883-
pd.SparseSeries(['a', []],
1884-
index=['string', 'object']))

0 commit comments

Comments
 (0)