Обновление пользовательской функции для поддержки вычитания
Функция, с которой вы работали в предыдущем упражнении, не поддерживает вычитание. Рассмотрите следующую функцию:
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
Практическое интерактивное упражнение
Превратите теорию в практику с помощью одного из наших интерактивных упражнений
Начать упражнение