sort_index behavior differs for the same DataFrame? · Issue #9212 · pandas-dev/pandas (original) (raw)
I feel like I've encountered a bug. In the following scenario, the first sort_index
call behaves as expected, but the second does not. Does someone know what the difference is here?
In [1]: import pandas as pd
In [2]: pd.__version__
Out[2]: '0.15.2'
In [3]: tuples = [(' foo', 'bar'), ('foo', 'bar'), (' foo ()', 'bar')]
In [4]: cols = pd.MultiIndex.from_tuples(tuples)
In [5]: df = pd.DataFrame(index=cols, data={'baz': [0, 1, 2]})
In [6]: df
Out[6]:
baz
foo bar 0
foo bar 1
foo () bar 2
In [7]: df.sort_index()
Out[7]:
baz
foo bar 0
foo () bar 2
foo bar 1
In [8]: tuples = [(' foo', 'bar'), ('foo', 'bar')]
In [9]: cols = pd.MultiIndex.from_tuples(tuples)
In [10]: df = pd.DataFrame(index=cols, data={'baz': [0, 1]})
In [11]: df
Out[11]:
baz
foo bar 0
foo bar 1
In [12]: df.ix[(' foo ()', 'bar'), 'baz'] = 2
In [13]: df
Out[13]:
baz
foo bar 0
foo bar 1
foo () bar 2
In [14]: df.sort_index()
Out[14]:
baz
foo bar 0
foo bar 1
foo () bar 2