В df есть столбцы user_id и amount. Что вернёт выражение df.groupby("user_id")["amount"].sum()?

ADataFrame со столбцами user_id и amount по одной строке на каждого пользователя
BSeries с индексом из значений user_id и значениями сумм amount по каждому ключу
CСкаляр: общая сумма amount по всей таблице без какой-либо разбивки по user_id
DDataFrame с MultiIndex по строкам и колонкам с уровнем user_id дважды подряд
Правильный ответ. Выбор одного столбца после .groupby() обычно ведёт к Series после агрегации, а не к DataFrame.

Разбор

Конструкция df.groupby("user_id")["amount"] выбирает один столбец amount внутри групп и возвращает объект, который при агрегации sum() даёт Series. Индексом этой Series будут значения ключа группировки user_id, а значениями — суммы amount внутри каждой группы. Если нужен именно DataFrame с двумя столбцами, обычно добавляют reset_index(). Скаляр получился бы только при df["amount"].sum() без группировки.

Проверь себя · 1/3разбор после ответа
У вас есть s = df.groupby("user_id").size(). Что нужно сделать, чтобы получить таблицу DataFrame с колонками user_id и cnt для дальнейшего объединения через .merge()?
Тренировать Python в Telegram

Ещё вопросы по теме «Pandas и DataFrame»