Группировка данных из одной таблицы на основании данных другой таблицы
Есть 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