Skip to content

Commit 137af52

Browse files
committed
TST: core and sparse unit tests pass
1 parent 1134c9f commit 137af52

File tree

4 files changed

+20
-17
lines changed

4 files changed

+20
-17
lines changed

pandas/core/internals.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ def get_slice(self, slobj, axis=0):
392392
new_items)
393393
new_blocks = [newb]
394394
else:
395-
return self._reindex_items(new_items)
395+
return self.reindex_items(new_items)
396396
else:
397397
new_blocks = self._slice_blocks(slobj, axis)
398398

@@ -455,12 +455,12 @@ def as_matrix(self, items=None):
455455
# if not, then just call interleave per below
456456
mat = blk.values
457457
else:
458-
mat = self._reindex_items(items).as_matrix()
458+
mat = self.reindex_items(items).as_matrix()
459459
else:
460460
if items is None:
461461
mat = self._interleave(self.items)
462462
else:
463-
mat = self._reindex_items(items).as_matrix()
463+
mat = self.reindex_items(items).as_matrix()
464464

465465
return mat
466466

@@ -658,7 +658,7 @@ def reindex_axis(self, new_axis, method=None, axis=0, copy=True):
658658

659659
if axis == 0:
660660
assert(method is None)
661-
return self._reindex_items(new_axis)
661+
return self.reindex_items(new_axis)
662662

663663
new_axis, indexer = cur_axis.reindex(new_axis, method)
664664
return self.reindex_indexer(new_axis, indexer, axis=axis)
@@ -714,15 +714,15 @@ def _reindex_indexer_items(self, new_items, indexer):
714714

715715
return BlockManager(new_blocks, [new_items] + self.axes[1:])
716716

717-
def _reindex_items(self, new_items):
717+
def reindex_items(self, new_items):
718718
"""
719719
720720
"""
721721
new_items = _ensure_index(new_items)
722722
data = self
723723
if not data.is_consolidated():
724724
data = data.consolidate()
725-
return data._reindex_items(new_items)
725+
return data.reindex_items(new_items)
726726

727727
# TODO: this part could be faster (!)
728728
new_items, indexer = self.items.reindex(new_items)

pandas/sparse/frame.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -376,11 +376,11 @@ def xs(self, key, axis=0, copy=False):
376376
#----------------------------------------------------------------------
377377
# Arithmetic-related methods
378378

379-
def _combine_frame(self, other, func, fill_value=None):
379+
def _combine_frame(self, other, func, fill_value=None, level=None):
380380
new_index = self.index.union(other.index)
381381
new_columns = self.columns.union(other.columns)
382382

383-
if fill_value is not None:
383+
if fill_value is not None or level is not None:
384384
raise NotImplementedError
385385

386386
this = self
@@ -456,7 +456,10 @@ def _combine_const(self, other, func):
456456
return self._constructor(data=new_data, index=self.index,
457457
columns=self.columns)
458458

459-
def _reindex_index(self, index, method, copy):
459+
def _reindex_index(self, index, method, copy, level):
460+
if level is not None:
461+
raise Exception('Reindex by level not supported for sparse')
462+
460463
if self.index.equals(index):
461464
if copy:
462465
return self.copy()
@@ -483,7 +486,10 @@ def _reindex_index(self, index, method, copy):
483486
return SparseDataFrame(new_series, index=index, columns=self.columns,
484487
default_fill_value=self.default_fill_value)
485488

486-
def _reindex_columns(self, columns, copy):
489+
def _reindex_columns(self, columns, copy, level):
490+
if level is not None:
491+
raise Exception('Reindex by level not supported for sparse')
492+
487493
# TODO: fill value handling
488494
sdict = dict((k, v) for k, v in self.iteritems() if k in columns)
489495
return SparseDataFrame(sdict, index=self.index, columns=columns,

pandas/sparse/tests/test_sparse.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -1279,10 +1279,7 @@ def _compare_with_dense(panel):
12791279
dlp = panel.to_dense().to_long()
12801280

12811281
self.assert_(np.array_equal(slp.values, dlp.values))
1282-
self.assert_(np.array_equal(slp.major_labels,
1283-
dlp.major_labels))
1284-
self.assert_(np.array_equal(slp.minor_labels,
1285-
dlp.minor_labels))
1282+
self.assert_(slp.index.equals(dlp.index))
12861283

12871284
_compare_with_dense(self.panel)
12881285
_compare_with_dense(self.panel.reindex(items=['ItemA']))

pandas/tests/test_series.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1266,9 +1266,9 @@ def test_truncate(self):
12661266
truncated = ts.truncate(before=self.ts.index[-1] + offset)
12671267
assert(len(truncated) == 0)
12681268

1269-
truncated = ts.truncate(before=self.ts.index[-1] + offset,
1270-
after=self.ts.index[0] - offset)
1271-
assert(len(truncated) == 0)
1269+
self.assertRaises(Exception, ts.truncate,
1270+
before=self.ts.index[-1] + offset,
1271+
after=self.ts.index[0] - offset)
12721272

12731273
def test_asof(self):
12741274
self.ts[5:10] = np.NaN

0 commit comments

Comments
 (0)