Začněte nyníZačněte zdarma

Úprava uživatelsky definované funkce pro odčítání

Funkce, na které jsi pracoval/a v předchozím cvičení, odčítání neumí. Podívej se na tuto funkci:

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

Tato funkce umí pracovat jak se sčítáním, tak s odčítáním v čitateli i jmenovateli finančních ukazatelů. Všimni si, že funkce používá np.where — jde o funkci z balíčku NumPy. np.where zkontroluje, zda je první argument True: pokud ano, vrátí druhý argument, jinak vrátí třetí. Například v uvedeném kódu máme:

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

Pokud je addition_in_numerator pravda, np.where vrátí df[numerator].sum(axis=1), jinak vrátí df[numerator[0]] - df[numerator[1:]].sum(axis=1).

V tomto cvičení máš k dispozici DataFrame balance_sheet spolu s pandas a NumPy jako pd a np. Urči, které z následujících tvrzení je správně.

Toto cvičení je součástí kurzu

Analýza finančních výkazů v Pythonu

Zobrazit kurz

Interaktivní praktické cvičení

Proměňte teorii v praxi s jedním z našich interaktivních cvičení

Začít cvičení