BUG: SparseDataFrame construction with lists not coercing to dtype · Issue #15682 · pandas-dev/pandas (original) (raw)
coercion happens
In [12]: df = pd.SparseDataFrame({'a': [1, 0, 0],
...: 'b': [0, 1, 0],
...: 'c': [0, 0, 1]}, dtype='uint8', default_fill_value=0)
In [13]: df.dtypes
Out[13]:
a int64
b int64
c int64
dtype: object
respected here
In [23]: df = pd.SparseDataFrame({'a': pd.SparseSeries([1, 0, 0], dtype='uint8'),
...: 'b': pd.SparseSeries([0, 1, 0], dtype='uint8'),
...: 'c': pd.SparseSeries([0, 0, 1], dtype='uint8')}, default_fill_value=0)
In [24]: df.dtypes
Out[24]:
a uint8
b uint8
c uint8
dtype: object
In [25]: df.default_fill_value
Out[25]: 0
And here
In [15]: df = pd.DataFrame({'a': [1, 0, 0],
...: 'b': [0, 1, 0],
...: 'c': [0, 0, 1]}, dtype='uint8').to_sparse(fill_value=0)
In [17]: df.dtypes
Out[17]:
a uint8
b uint8
c uint8
dtype: object
In [18]: df.default_fill_value
Out[18]: 0