Menu
Coddy logo textTech

Merge и Concat

Урок 17 из 19 курса Аналитика в pandas на Coddy.

В реальном мире данные часто поступают из нескольких таблиц или файлов. Чтобы связать и проанализировать эти данные, мы должны уметь объединять наборы данных. Для объединения датафреймов мы можем использовать .merge(), .join() и .concat().

.merge() похож на операцию JOIN в SQL; он соединяет столбцы или индексы в датафрейме на основе одного или нескольких ключей:

merged_df = df1.merge(df2, on='common_column')

Например, эти две таблицы:

IDVALUE
1"val1"
2"val2
IDPOINTS
19

Станут:

IDVALUEPOINTS
1"val1"9

Функция .concat() используется для добавления строк одного датафрейма в конец другого, возвращая новый датафрейм. Эта операция похожа на операцию 'UNION' в SQL:

concatenated_df = pd.concat([df1, df2])
challenge icon

Задание

Легко

CSV-файл visits.csv содержит информацию о том, сколько посещений было совершено в определенном месте в определенное время.

Вот первые 5 строк файла:

location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588

Вычислите min, max, mean, std, sum и median для каждого идентификатора местоположения и объедините их в один датафрейм. Переименуйте столбцы в:

sum_visits, min_visits, max_visits, mean_visits, std_visits и median_visits.

Итоговый датафрейм должен выглядеть следующим образом:

location_idsum_visitsmin_visitsmax_visitsmean_visitsstd_visitsmedian_visits
.....................

Сохраните результат в df.

Попробуйте сами

# pandas как pd уже импортирован
df = pd.read_csv("./visits.csv")
sum_visits = df.groupby("location_id").sum()
min_visits = df.groupby("location_id").min()
max_visits = df.groupby("location_id").max()
mean_visits = df.groupby("location_id").mean()
std_visits = df.groupby("location_id").std()
median_visits = df.groupby("location_id").median()
# Напишите свой код ниже

Все уроки раздела Аналитика в pandas