Как лучше всего удалить строки фрейма данных 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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