Skip to content

Commit 7c5ac6a

Browse files
committed
SparseArray: prevent unsafe array casting
Prevent e.g. np.array([1.0, np.nan]) cast to int resulting in some large negative integer for np.nan.
1 parent 137304e commit 7c5ac6a

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

pandas/core/sparse/array.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,8 @@ def __new__(cls, data, sparse_index=None, index=None, kind='integer',
215215
# array-like
216216
if sparse_index is None:
217217
if dtype is not None:
218-
data = np.asarray(data, dtype=dtype)
218+
data = np.asarray(data)
219+
data = data.astype(dtype, casting='safe')
219220
res = make_sparse(data, kind=kind, fill_value=fill_value)
220221
values, sparse_index, fill_value = res
221222
else:

0 commit comments

Comments
 (0)