Pandas – check if ALL values are NaN in Series

Question:

I have a data series which looks like this:

print mys

id_L1
2       NaN
3       NaN
4       NaN
5       NaN
6       NaN
7       NaN
8       NaN

I would like to check is all the values are NaN.

My attempt:

pd.isnull(mys).all()

Output:

True

Is this the correct way to do it?

Asked By: Boosted_d16

||

Answers:

Yes, that’s correct, but I think a more idiomatic way would be:

mys.isnull().all()
Answered By: Andrew Rosenfeld

This will check for all columns..

mys.isnull().values.all(axis=0)
Answered By: Reeves
if df['col'].count() > 0:
    then ...

This works well but I think it might be quite a slow approach. I made the mistake of embedding this into a 6000-times loop to test four columns – and it’s brutal, but I can blame the programmer clearly 🙂

Obviously, don’t be like me. Always: Test your columns for all-null once, set a variable with the yes – "empty" or no – "not empty" result – and then loop.

Answered By: Edward
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.