Ú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
Interaktivní praktické cvičení
Proměňte teorii v praxi s jedním z našich interaktivních cvičení
Začít cvičení