НачатьНачать бесплатно

Обновление пользовательской функции для поддержки вычитания

Функция, с которой вы работали в предыдущем упражнении, не поддерживает вычитание. Рассмотрите следующую функцию:

def compute_ratio(df, numerator, denominator, ratio_name, 
                  addition_in_numerator = True,
                  addition_in_denominator = True):
  numerator_of_ratio = np.where(addition_in_numerator,
                             df[numerator].sum(axis=1), 
                             df[numerator[0]] - df[numerator[1:]].sum(
                               axis=1))
  denominator_of_ratio = np.where(addition_in_denominator, 
                               df[denominator].sum(axis=1), 
                               df[denominator[0]] - df[denominator[1:]].sum(axis=1))
  df[ratio_name] = numerator_of_ratio/denominator_of_ratio
  return df

Эта функция умеет работать со сложением и вычитанием в числителях и знаменателях финансовых коэффициентов. Обратите внимание, что функция использует np.where — функцию из пакета NumPy. np.where проверяет, истинен ли первый аргумент: если да, возвращает второй аргумент, иначе — третий. Например, в приведённом коде:

np.where(addition_in_numerator,
                             df[numerator].sum(axis=1), 
                             df[numerator[0]] - df[numerator[1:]].sum(
                               axis=1))

Если addition_in_numerator равно True, np.where вернёт df[numerator].sum(axis=1), в противном случае — df[numerator[0]] - df[numerator[1:]].sum(axis=1).

В этом упражнении DataFrame balance_sheet, а также библиотеки pandas и NumPy (импортированные как pd и np соответственно) уже загружены. Используйте их, чтобы определить, какое из следующих утверждений верно.

Это упражнение является частью курса

Анализ финансовой отчётности на Python

Посмотреть курс

Практическое интерактивное упражнение

Превратите теорию в практику с помощью одного из наших интерактивных упражнений

Начать упражнение