Как лучше всего удалить строки фрейма данных pandas на основе условия индекса с помощью MultiIndex?Python

Программы на Python
Anonymous
Как лучше всего удалить строки фрейма данных pandas на основе условия индекса с помощью MultiIndex?

Сообщение Anonymous »

У меня есть кадр данных с двумя уровнями индекса из операции стека, и я хотел бы затем удалить строки в зависимости от условия индекса. На данный момент у меня есть что-то вроде этого:

Код: Выделить всё

import pandas as pd
import numpy as np

df = pd.DataFrame({'100': [1, 2], '200': [3, 4], '300': [5, 6]})
df.columns.name = 'name'
df
>>> name  100  200  300
>>> 0     1  3  5
>>> 1     2  4  6

df = df.stack().to_frame(name='data')
df
>>>        data
>>>  name
>>> 0 100        1
>>>   200        3
>>>   300        5
>>> 1 100        2
>>>   200        4
>>>   300        6

df = df.drop(df.loc[(df.index.get_level_values(1)>>         data
>>>   name
>>> 0 200        3
>>>   300        5
>>> 1 200        4
>>>   300        6

...но мне это кажется очень неуклюжим, и мне интересно, есть ли более простой способ сделать это, которого мне не хватает.
Мне не удалось найти никакой документации или вопросов StackOverflow относительно этого конкретного случая, и я просто пытаюсь обобщить синтаксис для значения одного уровня для MultiIndex, но я чувствую, что должен быть способ, более родной для MultiIndex?

Подробнее здесь: https://stackoverflow.com/questions/799 ... ndex-condi

Вернуться в «Python»