Check for null values in if statement

Question:

I am very new to Python, and I wanted to ask a question about how to check the null values as condition in if statement. I am not sure how to construct the syntax. Hopefully someone can help me to solve the problem. Thank you so much, and wish you all have a wonderful day.

So here is problem. I am working with a dataframe, and I want to sort my row first on condition, then do the calculation, the dataframe is look like that:
Column A Column B
0
1
2
3
4
5

I want to calculate the average of Column A and Column B, but if Column A is null, the average will be Column B, and when Column B is null, average will be Column A. The Code that I constructed is following:

if df['A'].notnull is True & df['B'].notnull is True:
    df['Avg']=df['A'].astype(float)/2 + df['B'].astype(float)/2
elif df['A'].notnull is True & df['B'].isnull is True:
    df['Avg']=df['A'].astype(float)
else df['A'].isnull is True & df['B'].notnull is True:
    df['Avg']=df['B'].astype(float)

My code looks like this. Will someone provide plausible solutions, please? Thank you all.

Asked By: Yuuuu

||

Answers:

Use boolean indexing.

E.g., something like:

df.loc[df['A'].notnull() & df['B'].notnull(), "Avg"] = (df['A'].astype(float) + df['B'].astype(float))/2

And similarly for the other conditions.

Answered By: msailor
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.