Функция по строке в Pandas
Если функция должна видеть все поля
одной записи сразу, метод apply
на таблице вызывают по строкам:
на каждый шаг в функцию попадает
ряд из значений одной строки.
В коде метод настраивают на обход по строкам. Сложим цену и количество в каждой строке:
import pandas as pd
def row_sum(row):
return row['price'] + row['qty']
data = {
'price': [10, 25, 15],
'qty': [2, 1, 3],
}
shop = pd.DataFrame(data)
totals = shop.apply(row_sum, axis=1)
print(totals) # выведет 0 12
# 1 26
# 2 18
# dtype: int64
Результат снова ряд: индекс совпадает с метками строк таблицы, а в ячейках лежит то, что вернула функция для соответствующей записи.
Создайте таблицу с длиной и шириной участков в двух столбцах. Для каждой строки получите произведение этих чисел и выведите ряд.
Соберите таблицу рейсов с часами в пути и тарифом за час. Покажите ряд, где в каждой строке перемножены оба значения.
Из таблицы с баллами за письменную и устную часть экзамена выведите ряд сумм по каждому ученику.