Pandas Sum: сложение столбцов и строк DataFrame
В этом руководстве вы научитесь использовать Pandas для вычисления суммы, включая сложение значений по столбцам и строкам DataFrame. Умение складывать значения для расчета общей суммы по столбцам или строкам позволяет получать полезные итоговые статистики.
К концу этого урока вы научитесь:
Вычислить сумму столбца Pandas Dataframe
Вычислить сумму строки Pandas Dataframe
Добавьте столбцы Pandas Dataframe вместе
Добавьте столбцы Pandas Dataframe, которые соответствуют условию
Рассчитать сумму группы Pandas Dataframe
Быстрый ответ: используйте Pandas .sum() для добавления столбцов и строк Dataframe
По столбцам
Добавьте все числовые значения в столбец Pandas или столбцы таблицы данных.
df['column name'].sum()
Построчно
Add все числовые значения в строке Pandas
df.sum(axis=1)
Конкретные столбцы
Добавить значения определенных столбцов
df['column 1'] + df['column 2']
Оглавление
Загрузка образца Pandas Dataframe
Если вы хотите следовать за учебником построчно, скопируйте код ниже. Этот код загружает пример DataFrame в Pandas, на который мы будем ссылаться на протяжении всего учебника. Если у вас есть собственные данные, вы можете использовать их, чтобы следовать, но ваши результаты
У нас есть четыре колонки: одна содержит имя продавца, и три содержат значения продаж каждого продавца.
В следующем разделе вы узнаете, как использовать Pandas для суммирования всех значений в столбце dataframe.
Вычислить сумму столбца Pandas Dataframe
Обычной задачей может быть сложение всех значений в столбце Dataframe Pandas. К счастью, Pandas упрощает это с помощью метода sum
. Мы можем применить этот метод как к серии Pandas (то есть к столбцу), так и ко всему dataframe.
Начнем с того, как суммировать все значения в столбце Pandas:
Аналогично, мы можем вычислить сумму всех столбцов в Pandas Dataframe. Для этого просто применяем метод sum
ко всему датафрейму
Давайте попробуем:
Это возвращает объект Series из Pandas, с которым легко работать, если мы хотим получить сумму определенного столбца. По умолчанию Pandas будет складывать только числовые столбцы, то есть столбец "Name" не будет учитываться
В следующем разделе вы узнаете, как вычислить сумму строки в DataFrame Pandas.
Вычислить сумму строки Pandas Dataframe
Во многих случаях вам захочется суммировать значения по строкам в DataFrame Pandas. Подобно приведенному выше примеру, мы можем использовать метод .sum
. По умолчанию, Pandas применит аргумент axis=0
, который будет суммировать значения по индексам. Если мы изменим это на axis=1
, значения будут суммироваться по столбцам.
Давайте посмотрим, как можно складывать значения по строкам
Вы можете задаться вопросом, почему мы применяем здесь аргумент numeric_only=True
. В будущих версиях Pandas будет выдаваться TypeError
, если будут включены нечисловые столбцы.
Что, если мы захотим присвоить индекс, чтобы строки было легче различать? Мы можем сделать это с помощью метода Pandas set_index
. Давайте посмотрим, как это выглядит:
Этот результат более чистый и позволяет лучше видеть идентификатор строки, который в данном случае является именем продавца.
В следующем разделе вы узнаете, как просто сложить некоторые столбцы DataFrame в Pandas.
Добавьте столбцы Pandas Dataframe вместе
Pandas упрощает сложение различных столбцов выборочно. Если мы хотим сложить только два столбца построчно, а не все, мы можем просто сложить столбцы непосредственно. Преимущество этого подхода в том, что мы можем создать новый столбец для хранения.
Давайте посмотрим, как это выглядит:
Мы видим, что создали новый столбец, который хранит сумму двух наших столбцов. Прекрасная черта этой операции в том, что она векторизована, что означает ее высокую скорость и возможность эффективно использовать мощь Pandas.
В следующем разделе вы узнаете, как условно добавлять столбцы в датафрейм
Добавьте столбцы Pandas Dataframe, которые соответствуют условию
There may be times when you want to add multiple columns in a dataframe, but not all of them. We can do this by adding Pandas columns conditionally, with the help of a list comprehension.
For this example, let’s modify our dataframe to include an additional numerical column:
Теперь, когда мы складываем значения наших строк, возможно, не имеет смысла включать последний столбец. Допустим, мы хотим включить только те столбцы, которые содержат слово "Sales". Для этого мы можем создать генератор списков, который проверяет, входит ли слово "Sales" в столбец или нет.
Давайте посмотрим, как мы
Вы можете узнать больше о том, как это сделать, в этом руководстве, изучив, как итерировать по столбцам и проверять условие. Чтобы это сделать, мы сначала используем Pandas, чтобы получить столбцы нашего DataFrame в виде списка
Вы можете узнать больше о том, как это сделать в этом руководстве, изучив, как перебирать столбцы и проверять условие. Для этого мы сначала используем Pandas, чтобы получить столбцы нашего DataFrame как список
Теперь, когда мы выбрали наши столбцы, мы можем использовать аргумент axis=1
и сложить только те столбцы, которые содержат продажи. Давайте посмотрим, как это выглядит
Таким образом, мы можем безопасно суммировать значения по строкам, не включая ненужные столбцы.
В следующем разделе вы узнаете, как вычислить сумму в Pandas DataFrame, когда данные сгруппированы с использованием groupby
.
Рассчитать сумму группы Pandas Dataframe
В этом заключительном разделе вы узнаете, как вычислить сумму в Pandas DataFrame при группировке данных с помощью метода groupby
. Для этого мы изменим наш датафрейм, добавив столбец с полом продавца. Это позволит сгруппировать данные по полу и подсчитать итоги по полу.
Теперь мы можем группировать наши данные используя метод groupby, чтобы сгруппировать их по полу. Чтобы узнать больше о группировке данных с помощью метода groupby
, посмотрите мое видео здесь:
Сгруппируем наши данные и сложим все числовые столбцы:
Мы можем увидеть, что, сначала группируя наши данные по Gender
, а затем суммируя значения в dataframe, получаем сумму по столбцам на основе группировки по полу.
Заключение
В этом уроке вы узнали, как использовать метод суммирования в Pandas для вычисления сумм в датафреймах. Вы научились добавлять значения построчно и поколоночно. Вы также узнали, как добавлять столбцы по условиям и складывать значения в сгруппированном датафрейме.
Чтобы узнать больше о функции sum
в Pandas, ознакомьтесь с официальной документацией здесь.
Дополнительные ресурсы
Ознакомьтесь со ссылками ниже, чтобы узнать о связанных темах:
Функция ранжирования Pandas: ранжирование данных Dataframe (эквивалент SQL row_number)
Pandas Describe: Описательная статистика по вашему фрейму данных
Дисперсия Pandas: расчет дисперсии столбца Pandas Dataframe
Среднее значение Pandas: вычисление среднего значения Pandas для одного или нескольких столбцов
Last updated