Как умножить два столбца в pandas: с примерами


Вы можете использовать следующие методы для умножения двух столбцов в DataFrame pandas:

Способ 1: умножить два столбца

 df[' new_column '] = df. column1 * df. column2

Способ 2. Умножение двух столбцов по условию.

 new_column = df. column1 * df. column2

#update values based on condition
df[' new_column '] = new_column. where (df. column2 == ' value1 ', other= 0 )

Следующие примеры показывают, как использовать каждый метод на практике.

Пример 1. Умножение двух столбцов

Предположим, у нас есть следующий DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' price ': [22, 20, 25, 30, 4, 8, 12, 10],
                   ' amount ': [3, 1, 3, 3, 2, 4, 3, 5]})

#view DataFrame
print (df)

   price amount
0 22 3
1 20 1
2 25 3
3 30 3
4 4 2
5 8 4
6 12 3
7 10 5

Мы можем использовать следующий синтаксис, чтобы умножить столбцы «цена » и «сумма» и создать новый столбец с именем «доход» :

 #multiply price and amount columns
df[' revenue '] = df. price * df. amount

#view updated DataFrame
print (df)

   price amount revenue
0 22 3 66
1 20 1 20
2 25 3 75
3 30 3 90
4 4 2 8
5 8 4 32
6 12 3 36
7 10 5 50

Обратите внимание, что значения в столбце «Новый доход» являются произведением значений в столбцах «Цена » и «Сумма» .

Пример 2. Умножение двух столбцов на основе условия

Предположим, у нас есть следующий DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' price ': [22, 20, 25, 30, 4, 8, 12, 10],
                   ' amount ': [3, 1, 3, 3, 2, 4, 3, 5],
                   ' type ': ['Sale', 'Refund', 'Sale', 'Sale',
                            'Sale', 'Refund', 'Refund', 'Sale']})

#view DataFrame
print (df)

   price amount type
0 22 3 Dirty
1 20 1 Refund
2 25 3 Dirty
3 30 3 Dirty
4 4 2 Dirty
5 8 4 Refund
6 12 3 Return
7 10 5 Dirty

Мы можем перемножить столбцы цены и суммы , а затем использовать функциюwhere () , чтобы изменить результаты на основе значения столбца типа :

 #multiply price and amount columns
income = df. price * df. amount

#update values based on type
df[' revenue '] = revenue. where (df. type == ' Sale ', other= 0 )

#view updated DataFrame
print (df)

   price amount type revenue
0 22 3 Dirty 66
1 20 1 Refund 0
2 25 3 Dirty 75
3 30 3 Dirty 90
4 4 2 Dirty 8
5 8 4 Refund 0
6 12 3 Refund 0
7 10 5 Dirty 50

Обратите внимание, что столбец «Доход» принимает следующие значения:

  • Произведение цены и суммы, если тип равен «Продажа».
  • 0 иначе

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как выбрать столбцы по индексу в DataFrame Pandas
Как переименовать индекс в Pandas DataFrame
Как удалить столбцы по индексу в Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *