0
Я ищу способ сортировки кадра данных с несколькими индексами на основе одного из индексов. Вот пример ...Pandas MultiIndex Data Frame Сортировка
У меня есть ...
mi = pd.MultiIndex.from_tuples([('baz', 'y'), ('foo', 'y'), ('bar', 'y'), ('baz', 'z'), ('foo', 'z'), ('bar', 'z')],names=['first','second'])
df = pd.DataFrame(np.random.randn(6),index=mi)
print df
который производит
first second
baz y 1.902902
foo y -0.128341
bar y 0.481100
baz z -2.185144
foo z 1.015320
bar z -1.624616
Если я делаю ...
df2 = df.sort()
я получаю:
print df2
first second
bar y 0.481100
z -1.624616
baz y 1.902902
z -2.185144
foo y -0.128341
z 1.015320
Как-то Df такая, что я получаю:
first second
baz y 1.902902
z -2.185144
foo y -0.128341
z 1.015320
bar y 0.481100
z -1.624616
Как это " сортировка по одному из индексов "? Как вы решаете, что «база» предшествует «бару»? – BrenBarn
Потому что база появилась перед баром в исходных данных. Я не хочу сначала менять порядок. – agf1997
DataFrames не содержит понятия «первоначальный заказ». Если порядок в исходных данных имеет смысл для вас, создайте еще один столбец (или индексный уровень), который содержит эту информацию. – BrenBarn