It doesn't sparsify, and the values are incorrect. I'll fix this in #22325 ```python In [1]: import pandas as pd In [2]: df = pd.DataFrame({"A": [1., None]}) In [3]: df['A'] = pd.SparseSeries(df.A) In [4]: df.A.values Out[4]: array([1., 1.]) In [5]: df = pd.DataFrame({"A": [True, False]}) In [6]: df['A'] = pd.SparseSeries(df.A) In [7]: df.A.values Out[7]: array([ True, True]) ```