data_client

Технологии Blogger.

Аналог СУММЕСЛИ в Pandas

При переходе с Excel на Pandas часто не хватает функций, которые по умолчанию встроены в Эксель. Сегодня мы поговорим об одной из них, а именно СУММЕСЛИ, разберемся как в Pandas реализовать такой же функционал, а именно суммирование по условию.

Аналог СУММЕСЛИ в Pandas

Для начала загрузите Excel файл с примером, из которого мы будем получать данные. В качестве примера мы будем использовать данные по приложениям из Google Play: "Google Play Store Database".
Открываем Jupiter Notebook, создаем новый ноутбук и первым делом импортируем Pandas. 
import pandas as pd
Далее получаем данные из Excel файла, который вы загрузили по ссылке выше, в Dataframe (расположите его в той же папке, что и ноутбук Jupiter Notebook, что бы не пришлось прописывать полный адрес файла).
excel_data_df = pd.read_excel('googleplaystore.xlsx', sheet_name='googleplaystore')
Структура получившегося dataframe выглядит следующим образом:

Аналог СУММЕСЛИ в Pandas
 
Наша задача, узнать сколько просмотров было у приложений в категории ART_AND_DESIGN. У нас есть столбец с данными (Category), которые мы будем проверять на соответствие условию и столбец с числовыми значениями (Reviews), которые мы будем суммировать.

Аналог функции СУММЕСЛИ в Pandas выглядит следующим образом:
ART_AND_DESIGN_sum = excel_data_df.loc[excel_data_df['Category']=='ART_AND_DESIGN',['Reviews']].sum()
Мы применяем функцию loc к нашему датафрейму excel_data_df. Первым параметром мы должны указать тот столбец, который будем проверять (excel_data_df['Category']), вторым параметром - значение для проверки (ART_AND_DESIGN), далее указываем столбец, который суммируем (['Reviews']) и в завершении непосредственно саму функцию суммирования sum().

Получившийся результат суммирования - 1 714 440, это значит что приложения в категории ART_AND_DESIGN посмотрели в общем более 1,7 млн. раз.

Общий код примера можете посмотреть в приложенном ноутбуке "Аналог СУММЕСЛИ в Pandas.ipynb".

Хотел бы отметить, что в Pandas есть аналоги и других функций Excel, к примеру на нашем сайте вот такая статья "Excel и Python. Аналог ВПР в Pandas.".

Спасибо за внимание.
Опубликовать в Google Plus