Как вывести результат groupby для сортировки DataFrame?
Сохраняю результаты запроса из БД в DataFrame:
spent = pd.read_sql_query("SELECT * FROM spent", con)
payments = pd.read_sql_query("SELECT * FROM payments", con)
Теперь хочу отсортировать по столбцу с датами:
actual = payments.groupby(payments['ts'])
Вывод:
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x0000020C754CAA90>.
Хочу вывести таблицу, а не это. Тот же вывод при печати этой переменной.
Что не так?
Ответы (1 шт):
Метод df.groupby(...) возвращает объект типа DataFrameGroupBy, к которому нужно применять GroupBy функции/методы.
Сам по себе этот метод ничего не меняет (только подготавливает данные для группировки), поэтому нет смысла выводить его результат на печать, не применив ни одной функции к результату группировки.
PS из вопроса не совсем понятно, что вы хотите сделать - группировку или сортировку. Сортировка в Pandas делается так:
res = df.sort_values([<list of columns>])
но в случае чтения данных из БД имеет смысл сделать это на стороне БД:
payments = pd.read_sql_query("SELECT * FROM payments ORDER BY ...", con)