Непонятки в type df/series на выходе функции

Основной код:

def spending_by_category(transactions: pd.DataFrame,
                         category: str,
                         date: Optional[str] = None) -> pd.DataFrame:
    """
    Функция вычисления трат по заданной категории за последние 3 месяца от даты.

    * transactions - DataFrame с транзакциями
    * category - категория, по которой вычисляются траты
    * date - дата, от которой ведется исчисление трат за последние 3 месяца
        ** по умолчанию - сегодня; формат - "YYYY-MM-DD HH:MM:SS"
    """

    if not date:
        true_date = datetime.datetime.now().replace(microsecond=0)
    else:
        true_date = datetime.datetime.strptime(date, "%Y-%m-%d %H:%M:%S")

    minus_3_months = true_date - relativedelta(months=3)

    datetime_df = transactions

    datetime_df["Дата операции"] = datetime_df["Дата операции"].apply(
        lambda x: datetime.datetime.strptime(x, "%d.%m.%Y %H:%M:%S"))

    filtered_by_date_df = datetime_df[
        (minus_3_months <= datetime_df["Дата операции"])
        & (datetime_df["Дата операции"] <= true_date)
        ]

    filtered_df = filtered_by_date_df[["Категория", "Сумма операции"]]

    category_df = filtered_df.groupby("Категория", as_index=False)["Сумма операции"].sum()

    result = category_df[category_df["Категория"] == category]

    return result

Если прописывать return type(result), то он четко выдает <class 'pandas.core.frame.DataFrame'>. Однако PyCharm выделяет result в return и пишет, что это Series, а функция на выходе ожидает pd.DataFrame.

Не заглядывал только в документацию pandas, а ChatGPT и Гугл говорит, что ошибки в коде (с типами данных) быть не должно.


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