Skip to content

Commit ae026b2

Browse files
committed
avoid series constructor
(cherry picked from commit eb219ac)
1 parent aa08a6d commit ae026b2

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

pandas/core/reshape/reshape.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -853,6 +853,7 @@ def check_len(item, name):
853853

854854
def _get_dummies_1d(data, prefix, prefix_sep='_', dummy_na=False,
855855
sparse=False, drop_first=False, dtype=None):
856+
from pandas.core.reshape.concat import concat
856857
# Series avoids inconsistent NaN handling
857858
codes, levels = _factorize_from_iterable(Series(data))
858859

@@ -909,7 +910,7 @@ def _make_col_name(prefix, prefix_sep, level):
909910
index = None
910911

911912
if sparse:
912-
sparse_series = {}
913+
sparse_series = []
913914
N = len(data)
914915
sp_indices = [[] for _ in range(len(dummy_cols))]
915916
mask = codes != -1
@@ -928,10 +929,9 @@ def _make_col_name(prefix, prefix_sep, level):
928929
sarr = SparseArray(np.ones(len(ixs), dtype=dtype),
929930
sparse_index=IntIndex(N, ixs), fill_value=0,
930931
dtype=dtype)
931-
sparse_series[col] = Series(data=sarr, index=index)
932+
sparse_series.append(Series(data=sarr, index=index, name=col))
932933

933-
out = DataFrame(sparse_series, index=index, columns=dummy_cols,
934-
dtype=dtype)
934+
out = concat(sparse_series, axis=1, copy=False)
935935
return out
936936

937937
else:

0 commit comments

Comments
 (0)