Python Pandas Не получается решить задачу

Решаю задачу на https://py.checkio.org/ru/mission/the-cheapest-flight/, но не могу понять как сделать суммирование. Хочу решить эту задачу именно через Pandas.

Cуть задачи, вывести из фрейма сумму столбца, если входные параметры совпадают с переданными строками. Вот пример переданного List и двух аргументов str. Функция должна возвращать сумму столбца, если переданные аргументы совпадают. При этом вывести нужно минимум. Конкретно в данном примере должно быть выведено 60

from typing import List
import numpy as np
import pandas as pd

def cheapest_flight(costs: List, a: str, b: str) -> int:
    df = pd.DataFrame(costs)
    price1, price2, price3, price4, price5, price6 = 0, 0, 0, 0, 0, 0
    for item in costs:
        if a or b in item:
            price1 = df.loc[(df[0]== a) & (df[1]== b) | (df[0]== b) & (df[1]== a),2].sum()
            price3 = df.loc[(df[0]== a) & (df[1]!= b),2 & (df[2]==df[0]) ].sum()
            price4 = df.loc[(df[0]!= a) & (df[1]== b),2].sum()
            price5 = df.loc[(df[0]!= b) & (df[1]== a),2].sum()
            price6 = df.loc[(df[0]!= a) & (df[1]== b),2].sum()
    print(df)
    return price1, price2, price3, price4, price5, price6
            
print(cheapest_flight(
  [['A', 'C', 40],
  ['A', 'B', 20],
  ['A', 'D', 20],
  ['B', 'C', 50],
  ['D', 'C', 70]],
 'D',
 'C'))

У меня получается значение неверное Спасибо, если укажите мне на мою ошибку.


Ответы (0 шт):