Skip to content

Commit 61301b4

Browse files
committed
xref #1341
xfailing for now, needs axis reconstruction to succeed
1 parent 8054e6c commit 61301b4

File tree

1 file changed

+45
-32
lines changed

1 file changed

+45
-32
lines changed

pandas/tests/test_multilevel.py

Lines changed: 45 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ def setUp(self):
5656
self.ymd.index.set_names(['year', 'month', 'day'], inplace=True)
5757

5858

59-
6059
class TestMultiLevel(Base, tm.TestCase):
6160

6261
def test_append(self):
@@ -215,7 +214,6 @@ def test_reindex_preserve_levels(self):
215214
chunk = ymdT.loc[:, new_index]
216215
self.assertIs(chunk.columns, new_index)
217216

218-
219217
def test_repr_to_string(self):
220218
repr(self.frame)
221219
repr(self.ymd)
@@ -713,7 +711,6 @@ def test_getitem_partial_column_select(self):
713711
self.assertRaises(KeyError, df.loc.__getitem__,
714712
(('a', 'foo'), slice(None, None)))
715713

716-
717714
def test_delevel_infer_dtype(self):
718715
tuples = [tuple
719716
for tuple in cart_product(
@@ -737,7 +734,6 @@ def test_reset_index_with_drop(self):
737734
deleveled = self.series.reset_index(drop=True)
738735
tm.assertIsInstance(deleveled, Series)
739736

740-
741737
def test_count_level(self):
742738
def _check_counts(frame, axis=0):
743739
index = frame._get_axis(axis)
@@ -2358,26 +2354,6 @@ def test_sorting_repr_8017(self):
23582354
result = result.sort_index(axis=1)
23592355
tm.assert_frame_equal(result, expected)
23602356

2361-
def test_getitem_multilevel_index_tuple_unsorted(self):
2362-
index_columns = list("abc")
2363-
df = DataFrame([[0, 1, 0, "x"], [0, 0, 1, "y"]],
2364-
columns=index_columns + ["data"])
2365-
df = df.set_index(index_columns)
2366-
query_index = df.index[:1]
2367-
rs = df.loc[query_index, "data"]
2368-
2369-
xp_idx = MultiIndex.from_tuples([(0, 1, 0)], names=['a', 'b', 'c'])
2370-
xp = Series(['x'], index=xp_idx, name='data')
2371-
tm.assert_series_equal(rs, xp)
2372-
2373-
def test_getitem_slice_not_sorted(self):
2374-
df = self.frame.sort_index(level=1).T
2375-
2376-
# buglet with int typechecking
2377-
result = df.iloc[:, :np.int32(3)]
2378-
expected = df.reindex(columns=df.columns[:3])
2379-
tm.assert_frame_equal(result, expected)
2380-
23812357
def test_sort_index_level(self):
23822358
df = self.frame.copy()
23832359
df.index = np.arange(len(df))
@@ -2497,14 +2473,6 @@ def test_sort_index_and_reconstruction(self):
24972473
assert result.columns.is_lexsorted()
24982474
assert result.columns.is_monotonic
24992475

2500-
# def test_
2501-
#df = pd.DataFrame({'col1': ['b','d','b','a'], 'col2': [3,1,1,2], 'data':['one','two','three','four']})
2502-
2503-
#In [121]: df2 = df.set_index(['col1','col2'])
2504-
2505-
#In [122]: df2.index.set_levels(['b','d','a'], level='col1', inplace=True)
2506-
2507-
#In [123]: df2.index.set_labels([0,1,0,2], level='col1', inplace=True)
25082476
def test_is_lexsorted(self):
25092477
levels = [[0, 1], [0, 1, 2]]
25102478

@@ -2521,6 +2489,26 @@ def test_is_lexsorted(self):
25212489
self.assertFalse(index.is_lexsorted())
25222490
self.assertEqual(index.lexsort_depth, 0)
25232491

2492+
def test_getitem_multilevel_index_tuple_not_sorted(self):
2493+
index_columns = list("abc")
2494+
df = DataFrame([[0, 1, 0, "x"], [0, 0, 1, "y"]],
2495+
columns=index_columns + ["data"])
2496+
df = df.set_index(index_columns)
2497+
query_index = df.index[:1]
2498+
rs = df.loc[query_index, "data"]
2499+
2500+
xp_idx = MultiIndex.from_tuples([(0, 1, 0)], names=['a', 'b', 'c'])
2501+
xp = Series(['x'], index=xp_idx, name='data')
2502+
tm.assert_series_equal(rs, xp)
2503+
2504+
def test_getitem_slice_not_sorted(self):
2505+
df = self.frame.sort_index(level=1).T
2506+
2507+
# buglet with int typechecking
2508+
result = df.iloc[:, :np.int32(3)]
2509+
expected = df.reindex(columns=df.columns[:3])
2510+
tm.assert_frame_equal(result, expected)
2511+
25242512
def test_frame_getitem_not_sorted(self):
25252513
df = self.frame.T
25262514
df['foo', 'four'] = 'foo'
@@ -2542,6 +2530,31 @@ def test_frame_getitem_not_sorted(self):
25422530
tm.assert_frame_equal(result, expected)
25432531
tm.assert_frame_equal(result2, expected)
25442532

2533+
@pytest.mark.xfail(reason="need axis reconstruction")
2534+
def test_frame_getitem_not_sorted2(self):
2535+
# 13431
2536+
df = DataFrame({'col1': ['b', 'd', 'b', 'a'],
2537+
'col2': [3, 1, 1, 2],
2538+
'data': ['one', 'two', 'three', 'four']})
2539+
2540+
df2 = df.set_index(['col1', 'col2'])
2541+
df2_original = df2.copy()
2542+
2543+
df2.index.set_levels(['b', 'd', 'a'], level='col1', inplace=True)
2544+
df2.index.set_labels([0, 1, 0, 2], level='col1', inplace=True)
2545+
assert not df2.index.is_lexsorted()
2546+
assert not df2.index.is_monotonic
2547+
2548+
assert df2_original.index.equals(df2.index)
2549+
2550+
result = df2.sort_index()
2551+
assert result.index.is_lexsorted()
2552+
assert result.index.is_monotonic
2553+
2554+
result = df2.sort_index(level=0)
2555+
assert result.index.is_lexsorted()
2556+
assert result.index.is_monotonic
2557+
25452558
def test_series_getitem_not_sorted(self):
25462559
arrays = [['bar', 'bar', 'baz', 'baz', 'qux', 'qux', 'foo', 'foo'],
25472560
['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]

0 commit comments

Comments
 (0)