Pandas Sum: сложение столбцов и строк DataFrame
Last updated
Last updated
В этом руководстве вы научитесь использовать 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']
Оглавление
Если вы хотите следовать за учебником построчно, скопируйте код ниже. Этот код загружает пример DataFrame в Pandas, на который мы будем ссылаться на протяжении всего учебника. Если у вас есть собственные данные, вы можете использовать их, чтобы следовать, но ваши результаты
У нас есть четыре колонки: одна содержит имя продавца, и три содержат значения продаж каждого продавца.
В следующем разделе вы узнаете, как использовать Pandas для суммирования всех значений в столбце dataframe.
Обычной задачей может быть сложение всех значений в столбце Dataframe Pandas. К счастью, Pandas упрощает это с помощью метода sum
. Мы можем применить этот метод как к серии Pandas (то есть к столбцу), так и ко всему dataframe.
Начнем с того, как суммировать все значения в столбце Pandas:
Аналогично, мы можем вычислить сумму всех столбцов в Pandas Dataframe. Для этого просто применяем метод sum
ко всему датафрейму
Давайте попробуем:
Это возвращает объект Series из Pandas, с которым легко работать, если мы хотим получить сумму определенного столбца. По умолчанию Pandas будет складывать только числовые столбцы, то есть столбец "Name" не будет учитываться
В следующем разделе вы узнаете, как вычислить сумму строки в DataFrame Pandas.
Во многих случаях вам захочется суммировать значения по строкам в DataFrame Pandas. Подобно приведенному выше примеру, мы можем использовать метод .sum
. По умолчанию, Pandas применит аргумент axis=0
, который будет суммировать значения по индексам. Если мы изменим это на axis=1
, значения будут суммироваться по столбцам.
Давайте посмотрим, как можно складывать значения по строкам
Вы можете задаться вопросом, почему мы применяем здесь аргумент numeric_only=True
. В будущих версиях Pandas будет выдаваться TypeError
, если будут включены нечисловые столбцы.
Этот результат более чистый и позволяет лучше видеть идентификатор строки, который в данном случае является именем продавца.
В следующем разделе вы узнаете, как просто сложить некоторые столбцы DataFrame в Pandas.
Pandas упрощает сложение различных столбцов выборочно. Если мы хотим сложить только два столбца построчно, а не все, мы можем просто сложить столбцы непосредственно. Преимущество этого подхода в том, что мы можем создать новый столбец для хранения.
Давайте посмотрим, как это выглядит:
Мы видим, что создали новый столбец, который хранит сумму двух наших столбцов. Прекрасная черта этой операции в том, что она векторизована, что означает ее высокую скорость и возможность эффективно использовать мощь Pandas.
В следующем разделе вы узнаете, как условно добавлять столбцы в датафрейм
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:
Давайте посмотрим, как мы
Теперь, когда мы выбрали наши столбцы, мы можем использовать аргумент axis=1
и сложить только те столбцы, которые содержат продажи. Давайте посмотрим, как это выглядит
Таким образом, мы можем безопасно суммировать значения по строкам, не включая ненужные столбцы.
В следующем разделе вы узнаете, как вычислить сумму в Pandas DataFrame, когда данные сгруппированы с использованием groupby
.
Сгруппируем наши данные и сложим все числовые столбцы:
Мы можем увидеть, что, сначала группируя наши данные по Gender
, а затем суммируя значения в dataframe, получаем сумму по столбцам на основе группировки по полу.
В этом уроке вы узнали, как использовать метод суммирования в Pandas для вычисления сумм в датафреймах. Вы научились добавлять значения построчно и поколоночно. Вы также узнали, как добавлять столбцы по условиям и складывать значения в сгруппированном датафрейме.
Ознакомьтесь со ссылками ниже, чтобы узнать о связанных темах:
Функция ранжирования Pandas: ранжирование данных Dataframe (эквивалент SQL row_number)
Pandas Describe: Описательная статистика по вашему фрейму данных
Дисперсия Pandas: расчет дисперсии столбца Pandas Dataframe
Среднее значение Pandas: вычисление среднего значения Pandas для одного или нескольких столбцов
Что, если мы захотим присвоить индекс, чтобы строки было легче различать? Мы можем сделать это с помощью . Давайте посмотрим, как это выглядит:
Теперь, когда мы складываем значения наших строк, возможно, не имеет смысла включать последний столбец. Допустим, мы хотим включить только те столбцы, которые содержат слово "Sales". Для этого мы можем в столбец или нет.
Вы можете узнать больше о том, как это сделать, в этом руководстве, изучив, как . Чтобы это сделать, мы сначала используем Pandas, чтобы получить столбцы нашего DataFrame в виде списка
Вы можете узнать больше о том, как это сделать в этом руководстве, изучив, как . Для этого мы сначала используем Pandas, чтобы получить столбцы нашего DataFrame как список
В этом заключительном разделе вы узнаете, как вычислить сумму в Pandas DataFrame при группировке данных с помощью . Для этого мы изменим наш датафрейм, добавив столбец с полом продавца. Это позволит сгруппировать данные по полу и подсчитать итоги по полу.
Теперь мы можем группировать наши данные , чтобы сгруппировать их по полу. Чтобы узнать больше о группировке данных с помощью метода groupby
, посмотрите мое видео здесь:
Чтобы узнать больше о функции sum
в Pandas, ознакомьтесь с .