Gebruikersfunctie bijwerken om te kunnen aftrekken
De functie waar je in de vorige oefening aan werkte kan niet aftrekken. Kijk eens naar deze functie:
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
Deze functie kan optellen en aftrekken in tellers en noemers van financiële ratio’s afhandelen. Merk op dat de functie np.where gebruikt. Dit is een functie uit het pakket NumPy. np.where controleert of het eerste argument True is; zo ja, dan retourneert het het tweede argument, anders retourneert het het derde. In het bovenstaande hebben we bijvoorbeeld:
np.where(addition_in_numerator,
df[numerator].sum(axis=1),
df[numerator[0]] - df[numerator[1:]].sum(
axis=1))
Als addition_in_numerator waar is, zal np.where df[numerator].sum(axis=1) retourneren, anders retourneert het df[numerator[0]] - df[numerator[1:]].sum(axis=1).
In deze oefening zijn de DataFrame balance_sheet en pandas en NumPy respectievelijk als pd en np voor je geladen. Gebruik deze om te bepalen welke van de volgende uitspraken klopt.
Deze oefening maakt deel uit van de cursus
Financiële overzichten analyseren in Python
Praktische interactieve oefening
Zet theorie om in actie met een van onze interactieve oefeningen.
Begin met trainen