Фильтр по датам, еще одному условию dataframe
Есть dataframe:
Загружаю файл, делаю индексом одну из колонок. Колонок всего 7. Необходимо схлопнуть по "СубконтоДт1" и при этом отфильтровать по дате и поставщику.
Ниже привожу пример, что должно получиться.
Дата Поставщик Цена
СубконтоДт1
перчатки 12.01.12 ООО"А" 12.00
перчатки 13.01.12 ООО"А" 14.00
профиль 26.02.14 ООО"В" 26.00
профиль 29.03.14 ООО"В" 27.00
Подскажите, пожалуйста, как это можно сделать?
Вот так примерно выглядит сейчас таблица:
df = pd.read_csv("333.csv", sep=';', header=0, index_col="СубконтоДт1", decimal=',')
Дата Поставщик Цена
СубконтоДт1
перчатки 12.01.12 ООО"А" 12.00
уголок 14.01.12 ООО"С" 5.00
профиль 26.02.14 ООО"В" 26.00
перчатки 13.01.12 ООО"А" 14.00
профиль 29.03.14 ООО"В" 27.00
И так далее , много разной номенклатуры от разных поставщиков за разные даты
Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
df_result = df.reset_index().sort_values(["СубконтоДт1", "Дата", "Поставщик"]).set_index("СубконтоДт1")
Объяснение:
- Сначала сделаем из индекса
СубконтоДт1регулярный столбец
(.reset_index()), - затем сделаем сортировку для 3 столбцов
(.sort_values(["СубконтоДт1", "Дата", "Поставщик"])) - наконец сделаем столбец
СубконтоДт1опять индексом
(.set_index("СубконтоДт1")).