1. 학습
  2. /
  3. 강의
  4. /
  5. Pythonで学ぶ財務諸表分析

Connected

연습 문제

減算に対応するユーザー定義関数の更新

前の演習で扱った関数は減算に対応していませんでした。次の関数を見てみましょう。

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 は最初の引数が True かを判定し、True の場合は2番目の引数を、そうでない場合は3番目の引数を返します。たとえば上の例では次のようになります。

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) を返します。

この演習では、balance_sheet DataFrame に加えて、pandas と NumPy がそれぞれ pd と np として読み込まれています。これらを使って、次の記述のうちどれが正しいかを判断してください。

지침

50 XP

가능한 답변