В df есть столбцы user_id и amount. Что вернёт выражение df.groupby("user_id")["amount"].sum()?
A
DataFrame со столбцами user_id и amount по одной строке на каждого пользователяB
Series с индексом из значений user_id и значениями сумм amount по каждому ключуCСкаляр: общая сумма
amount по всей таблице без какой-либо разбивки по user_idD
DataFrame с 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()?Ещё вопросы по теме «Pandas и DataFrame»
- Что вернёт выражение `df[df["price"] > 100]`?
- В `DataFrame` `df` есть столбцы `country`, `user_id`, `revenue`. Что вернёт выражение `df.loc[df["country"] == "RU", ["user_id", "revenue"]]`?
- В `df` есть столбец `age`. Какие значения `age` попадут в результат `df[(df["age"] >= 18) & (df["age"] <= 25)]`?
- Что выберет фильтр `df[~df["status"].isin(["cancelled", "returned"])]`?
- Что верно про два шага: `mask = df["col"] > 0` и затем `df[mask]`?
- Все вопросы по «Pandas и DataFrame» →