Closed
Description
We take a strange path...
diff --git a/pandas/core/internals/construction.py b/pandas/core/internals/construction.py
index c43745679..54108ec58 100644
--- a/pandas/core/internals/construction.py
+++ b/pandas/core/internals/construction.py
@@ -552,6 +552,7 @@ def sanitize_array(data, index, dtype=None, copy=False,
data = data.copy()
# GH#846
+ import pdb; pdb.set_trace()
if isinstance(data, (np.ndarray, Index, ABCSeries)):
if dtype is not None:
In [1]: import pandas as pd; import numpy as np
In [2]: a = pd.Series(np.array([1, 2, 3]))
> /Users/taugspurger/sandbox/pandas/pandas/core/internals/construction.py(556)sanitize_array()
-> if isinstance(data, (np.ndarray, Index, ABCSeries)):
(Pdb) c
In [3]: r = pd.DataFrame({"A": a, "B": a}, columns=['A', 'B'])
> /Users/taugspurger/sandbox/pandas/pandas/core/internals/construction.py(556)sanitize_array()
-> if isinstance(data, (np.ndarray, Index, ABCSeries)):
(Pdb) up
> /Users/taugspurger/sandbox/pandas/pandas/core/series.py(259)__init__()
-> raise_cast_failure=True)
(Pdb)
> /Users/taugspurger/sandbox/pandas/pandas/core/series.py(301)_init_dict()
-> s = Series(values, index=keys, dtype=dtype)
(Pdb)
> /Users/taugspurger/sandbox/pandas/pandas/core/series.py(204)__init__()
-> data, index = self._init_dict(data, index, dtype)
(Pdb)
> /Users/taugspurger/sandbox/pandas/pandas/core/internals/construction.py(176)init_dict()
-> arrays = Series(data, index=columns, dtype=object)
(Pdb)
> /Users/taugspurger/sandbox/pandas/pandas/core/frame.py(387)__init__()
-> mgr = init_dict(data, index, columns, dtype=dtype)
(Pdb) data
{'A': 0 1
1 2
2 3
dtype: int64, 'B': 0 1
1 2
2 3
dtype: int64}
(Pdb) d
> /Users/taugspurger/sandbox/pandas/pandas/core/internals/construction.py(176)init_dict()
-> arrays = Series(data, index=columns, dtype=object)
(Pdb) l
171 Segregate Series based on type and coerce into matrices.
172 Needs to handle a lot of exceptional cases.
173 """
174 if columns is not None:
175 from pandas.core.series import Series
176 -> arrays = Series(data, index=columns, dtype=object)
177 data_names = arrays.index
178
179 missing = arrays.isnull()
180 if index is None:
181 # GH10856
(Pdb) data
{'A': 0 1
1 2
2 3
dtype: int64, 'B': 0 1
1 2
2 3
dtype: int64}
I'm guessing we don't want to be passing a dict of Series into the Series constructor there