Як помножити два стовпці в pandas: із прикладами


Ви можете використовувати такі методи, щоб помножити два стовпці в pandas DataFrame:

Спосіб 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: Перемножте два стовпці

Припустімо, що у нас є наступні pandas DataFrame:

 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: помножте два стовпці на основі умови

Припустімо, що у нас є наступні pandas DataFrame:

 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:

Як вибрати стовпці за індексом у Pandas DataFrame
Як перейменувати індекс у Pandas DataFrame
Як видалити стовпці за індексом у Pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *