|
17 | 17 | import csv
|
18 | 18 | import operator
|
19 | 19 | import sys
|
| 20 | +import collections |
20 | 21 |
|
21 | 22 | from numpy import nan as NA
|
22 | 23 | import numpy as np
|
@@ -413,7 +414,7 @@ def __init__(self, data=None, index=None, columns=None, dtype=None,
|
413 | 414 | if index is None and isinstance(data[0], Series):
|
414 | 415 | index = _get_names_from_index(data)
|
415 | 416 |
|
416 |
| - if isinstance(data[0], (list, tuple, dict, Series)): |
| 417 | + if isinstance(data[0], (list, tuple, collections.Mapping, Series)): |
417 | 418 | arrays, columns = _to_arrays(data, columns, dtype=dtype)
|
418 | 419 | columns = _ensure_index(columns)
|
419 | 420 |
|
@@ -5527,7 +5528,7 @@ def _to_arrays(data, columns, coerce_float=False, dtype=None):
|
5527 | 5528 | if isinstance(data[0], (list, tuple)):
|
5528 | 5529 | return _list_to_arrays(data, columns, coerce_float=coerce_float,
|
5529 | 5530 | dtype=dtype)
|
5530 |
| - elif isinstance(data[0], dict): |
| 5531 | + elif isinstance(data[0], collections.Mapping): |
5531 | 5532 | return _list_of_dict_to_arrays(data, columns,
|
5532 | 5533 | coerce_float=coerce_float,
|
5533 | 5534 | dtype=dtype)
|
|
0 commit comments