Cześć. Mam macierz gdzie w kolumnach jest Age, Pclass, male i pare innych. Mam pare brakujących komórek w kolemnie Age. Próbuję stworzyć funkcję która na podstawie Pclass i male określi mi średnią wieku i wpisze mi ją w komórkę. Napisałem taki kod, jednak wiem, że jest on zły. Nie iwem jednak jak go poprawić

def imput_age(cols):
    
    Age = cols[0]
    Pclass = cols[1]
    male = cols[2]
    
    if pd.isnull(Age):
        
        if Pclass in range(1,4):
            
            if male in range(0,2):
                
                return int(df[(df['Pclass']==Pclass) & (df['male']==male)].dropna().mean()['Age'])
    else:
        return Age

Wiem, że błąd jest w drugim i trzecim if. Mógłbym to rozbić na przypadki ze względu na ich względnie małą ilość, jednak chciałbym się dowiedzieć jak to zrobić gdy będe miał ich więcej.

@Edit
Sprawdziłem średnią dla powiedzmy Pclass==1, male==1 przed i po wprowadzeniu funkcji i zmienia się ona o części rzędu dzesiątek. Wcześniej źle sprawdziłem te funkcję, także czy mógłby ktoś potwierdzić, że jak mam

 if Pclass in range(1,4):
            
            if male in range(0,2):

to później w części return on bierze odpowiedni Pclass i male ?