И как они могут вызвать скрытые сбои
«Ошибки дурака известны миру, но не ему самому. Ошибки мудреца известны ему самому, но не миру». — Чарльз Калеб Колтон
Незнание ошибок, которые мы допускаем в программировании, не обязательно делает нас дураками. Однако это может привести к нежелательным последствиям.
Некоторые ошибки сияют, как бриллиант, и их можно распознать за много миль. Даже если вы их не замечаете, компиляторы (или интерпретаторы) сообщают нам о них, выдавая ошибки.
С другой стороны, существуют некоторые «тихие» ошибки, которые трудно заметить, но они могут вызвать серьезные проблемы.
Они не приводят к каким-либо ошибкам, но заставляют функцию или операцию выполняться не так, как вы думаете. Следовательно, результат меняется незаметно для вас.
Мы узнаем о трех таких проблемах.
Вы аналитик данных, работающий в розничной компании. Вас попросили проанализировать результаты недавно проведенной серии рекламных акций. Одной из задач в этом анализе является расчет общего количества продаж для каждой рекламной акции и общей суммы.
Допустим, данные продвижения хранятся в DataFrame, который выглядит следующим образом (определенно не такой маленький в реальной жизни):
И вот код Pandas для создания этого DataFrame, если вы хотите следовать и выполнять примеры самостоятельно:
import pandas as pd promotion = pd.DataFrame( { "promotion_code": ["A2", "A1", "A2", "B1", "A2", None, "A2", "B1", None, "A1"], "sales_qty": [34, 32, 26, 71, 44, 27, 64, 33, 45, 90], "price": [24.5, 33.1, 64.9, 52.0, 29.0, 47.5, 44.2, 25.0, 42.5, 30.0] } )
Рассчитать общий объем продаж по промокоду несложно. Вам просто нужно использовать функцию groupby
:
promotion.groupby("promotion_code").agg(…