Группировка данных из одной таблицы на основании данных другой таблицы

Есть Dataframe, Материалы - являются индексом. Таблица примерно следующая. :

   Материалы              Поставщик       Дата поставки              Отклонение  
    Перчатки                  А             01.02.18                     5.00
    Анкер                     В             02.02.18                     6.00
    Бур                       С             03.05.18                     3.50
    Перчатки                  А             04.06.18                     4.00

и т.д.

В переменной А содержатся данные из Dataframe полученные с помощью группировки:

        Поставщик        Среднее отклонение
0          А                12.00
1          В                11.23
2          С                 9.02
3          D                22.16

Как сгруппировать данные для каждого из поставщиков попавшего в переменную А. Группировку произвести из DataFrame начального. И вывести данные для каждого поставщика в отдельную переменную. Количество поставщиков не известно.
Per1 (переменная)

Материал          Поставщик   Дата поставки     Отклонение
Перчатки              А         01.02.18           5.00
Перчатки              А         04.06.18           4.00

Рer2

Анкер                 В         02.02.18           6.00

и т.д. Для всех поставщиков попавших в переменную А . Если они не попали туда, то игнорирование.


Ответы (1 шт):

Автор решения: MaxU

можно создать словарь с поставщиками в качестве ключей:

res = {a:b for a,b in df.query("`Поставщик` in @A.Поставщик").groupby("Поставщик")}

результат:

In [129]: res["А"]
Out[129]:
          Поставщик Дата поставки  Отклонение
Материалы
Перчатки          А      01.02.18         5.0
Перчатки          А      04.06.18         4.0

In [130]: res["В"]
Out[130]:
          Поставщик Дата поставки  Отклонение
Материалы
Анкер             В      02.02.18         6.0

In [131]: res["С"]
Out[131]:
          Поставщик Дата поставки  Отклонение
Материалы
Бур               С      03.05.18         3.5
→ Ссылка