Покупка машины
Урок 19 из 19 курса Аналитика в pandas на Coddy.
При использовании .sort_values возвращается датафрейм, в котором column_name преобразуется в индекс:
res = df.sort_values(by='column_name', ascending=True)Индекс подобен адресу; именно так можно получить доступ к любой точке данных в датафрейме или серии.
Когда столбец преобразуется в индекс, к нему больше невозможно обратиться тем способом, который мы изучили:
res["column_name"]Это невозможно.
Чтобы преобразовать индекс обратно в обычный столбец, напишите: .reset_index:
res = df.sort_values(by='column_name', ascending=True).reset_index()Или сделайте это в два этапа:
res = df.sort_values(by='column_name', ascending=True)
res = res.reset_index()Задание
СреднеCSV-файлы car_raw_stats.csv и car_features.csv содержат информацию о продаваемых автомобилях.
Вот первые 5 строк car_raw_stats.csv:
car_id,brand,price,popularity,year
1,ram,12584.93337,0.962070375,2008
2,mazda,15123.47674,0.356163012,2012
3,kia,15861.89672,0.110720597,2006
4,renault,12631.39906,0.153823182,2016Вот первые 5 строк car_features.csv:
car_id,sits,has_phone_charger,is_comfortable
1,4,,1
2,4,,1
3,4,1,1
4,2,1,Нам нужно найти подходящие автомобили для покупки.
- Любое отсутствующее значение считается равным
0. - Найдите среднее значение для каждого бренда и рассмотрите только топ-
7брендов. Отфильтруйте все автомобили этих брендов. - Мы ищем бюджетный автомобиль — цена меньше
20000, но год выпуска должен быть больше 2005. - В машине должно быть
4места (sits), нам не нужна зарядка (has_phone_charger), но она должна быть комфортной (is_comfortable). - Отсортируйте автомобили в порядке возрастания по идентификатору автомобиля (
car_id).
Сохраните результат в df
Попробуйте сами
# pandas как pd уже импортирован
df_feat = pd.read_csv("./car_features.csv")
df_stat = pd.read_csv("./car_raw_stats.csv")
# Напишите свой код ниже
Все уроки раздела Аналитика в pandas
4Анализ данных с Pandas
Описательная статистикаГруппировка и агрегация данныхРазличные агрегацииMerge и Concat3Манипуляции с данными в Pandas
Возврат нужного результатаФильтрация данныхДобавление и удалениеИзменение данныхИзменение строкПользовательские изменения