In [1]:
import numpy as np
import pandas as pd

In [2]:
s = pd.Series([1, 2, 3, 4])
s


Out[2]:
0    1
1    2
2    3
3    4
dtype: int64

In [3]:
s.quantile(.5)


Out[3]:
2.5

In [4]:
s.quantile(.1)


Out[4]:
1.3

In [5]:
t = pd.Series([np.nan, np.nan, np.nan, np.nan])
t


Out[5]:
0   NaN
1   NaN
2   NaN
3   NaN
dtype: float64

In [6]:
t.quantile(.5)


Out[6]:
nan

In [7]:
u = pd.Series([1, 2, np.nan, 4])
u


Out[7]:
0    1.0
1    2.0
2    NaN
3    4.0
dtype: float64

In [8]:
u.quantile(.5)


Out[8]:
2.0

In [9]:
v = pd.Series([np.nan, np.nan, np.nan, np.nan], dtype=object)
v


Out[9]:
0    NaN
1    NaN
2    NaN
3    NaN
dtype: object

In [10]:
v.quantile(.1)


Out[10]:
nan

In [11]:
np.nan


Out[11]:
nan

In [12]:
for x in v:
    print(x, np.isnan(x))


nan True
nan True
nan True
nan True

In [13]:
all(map(np.isnan, v))


Out[13]:
True

In [14]:
all(map(np.isnan, t))


Out[14]:
True

In [15]:
all(map(np.isnan, u))


Out[15]:
False

In [16]:
u[0], u[2]


Out[16]:
(1.0, nan)

In [17]:
all([])


Out[17]:
True

In [18]:
any([])


Out[18]:
False

In [19]:
v


Out[19]:
0    NaN
1    NaN
2    NaN
3    NaN
dtype: object

In [20]:
[name for name in dir(v) if 'nan' in name.lower()]


Out[20]:
['hasnans']

In [21]:
s.hasnans, t.hasnans, u.hasnans, v.hasnans


Out[21]:
(False, True, True, True)