Как умножить два столбца в 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