BUG: DataFrame.apply looses sparse dtype · Issue #23744 · pandas-dev/pandas (original) (raw)
In [151]: df = pd.SparseDataFrame(np.array([[0, 1, 0], [0, 0, 0], [0, 0, 1]]),
columns=['a', 'b', 'c'], default_fill_value=0)
In [152]: df2 = pd.DataFrame(df)
In [153]: df.apply(np.exp)['a']
Out[153]:
0 1.0
1 1.0
2 1.0
Name: a, dtype: Sparse[float64, 1.0]
BlockIndex
Block locations: array([], dtype=int32)
Block lengths: array([], dtype=int32)
In [155]: df2.apply(np.exp)['a']
Out[155]:
0 1.0
1 1.0
2 1.0
Name: a, dtype: float64