ユーザー定義関数で複数の比率を計算する
前の2つの演習で見た関数をもう一度見てみましょう。
def compute_ratio(df, numerator, denominator, ratio_name,
addition_in_numerator = True,
addition_in_denominator = True):
ratio_numerator = np.where(addition_in_numerator,
df[numerator].sum(axis=1),
df[numerator[0]] - df[numerator[1:]].sum(
axis=1))
ratio_denominator = np.where(addition_in_denominator,
df[denominator].sum(axis=1),
df[denominator[0]] - df[denominator[1:]].sum(axis=1))
df[ratio_name] = ratio_numerator/ratio_denominator
return df
前の演習では、この関数を使って比率を計算しましたが、この関数を使うことが必ずしも効率的でも、コード量が少なくなるわけでもありませんでした。本演習では、ループで多くの比率を計算する方法としてこの関数を使うやり方を確認します。これにより、複数の比率をより効率的に、かつ少ないコードで計算できるようになります。
この演習はコースの一部です