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?
Answers:
Yes, that’s correct, but I think a more idiomatic way would be:
mys.isnull().all()
This will check for all columns..
mys.isnull().values.all(axis=0)
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.
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?
Yes, that’s correct, but I think a more idiomatic way would be:
mys.isnull().all()
This will check for all columns..
mys.isnull().values.all(axis=0)
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.