Фильтр по датам, еще одному условию 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")).
→ Ссылка