pandas логическая индексация фрейма данных в словаре фреймов данных - PullRequest
0 голосов
/ 07 мая 2020

Итак, это, вероятно, действительно простая проблема, но я еще не нашел решения. Прошу прощения за свою глупость. (Я предполагаю, что мое незнание терминологии помешало моему поиску здесь)

У меня есть словарь фреймов данных (здесь показаны 2, но он содержит больше).

    df_dict={'P1': df0,'P2': df1}

Каждый фрейм данных могут иметь или не иметь строк, которые мне нужно удалить для дальнейшей обработки. Я могу легко удалить эти строки из одного фрейма данных следующим образом:

    df0=df_dict['P1']
    df0=df0[df0.well !='1']

Но если я пройду oop через словарь таким образом, ничего не произойдет. Нежелательные строки все еще находятся в фреймах данных.

    for key,df in df_dict.items():
        df=df[df.well !='1']

Я тупо вставил inplace=True в .loc, и, очевидно, это не сработало. Боковое примечание: я не могу сделать df[~df.well.str.contains('1')], потому что это приведет к удалению строк с правильными позициями, например 'A01'

Опять же, я, вероятно, делаю что-то очень невежественное и очень благодарен за вашу помощь!

1 Ответ

2 голосов
/ 07 мая 2020

Пожалуйста, измените 'for l oop' на как указано ниже:

for key,df in df_dict.items():
    df_dict[key]=df[df.well !='1']

Это должно решить проблему.

...