Skip to content

Commit ba425a5

Browse files
committed
REF: collect calls to _finalize_columns_and_data
1 parent 0ff9516 commit ba425a5

File tree

1 file changed

+15
-26
lines changed

1 file changed

+15
-26
lines changed

pandas/core/internals/construction.py

+15-26
Original file line numberDiff line numberDiff line change
@@ -524,54 +524,49 @@ def to_arrays(
524524
if columns is not None:
525525
return [[]] * len(columns), columns
526526
return [], [] # columns if columns is not None else []
527-
if isinstance(data[0], (list, tuple)):
528-
return _list_to_arrays(data, columns, coerce_float=coerce_float, dtype=dtype)
529-
elif isinstance(data[0], abc.Mapping):
530-
return _list_of_dict_to_arrays(
531-
data, columns, coerce_float=coerce_float, dtype=dtype
532-
)
533-
elif isinstance(data[0], ABCSeries):
534-
return _list_of_series_to_arrays(
535-
data, columns, coerce_float=coerce_float, dtype=dtype
536-
)
527+
537528
elif isinstance(data[0], Categorical):
538529
if columns is None:
539530
columns = ibase.default_index(len(data))
540531
return data, columns
541-
elif (
542-
isinstance(data, (np.ndarray, ABCSeries, Index))
543-
and data.dtype.names is not None
544-
):
545532

533+
elif isinstance(data, np.ndarray) and data.dtype.names is not None:
534+
# e.g. recarray
546535
columns = list(data.dtype.names)
547536
arrays = [data[k] for k in columns]
548537
return arrays, columns
538+
539+
if isinstance(data[0], (list, tuple)):
540+
content, columns = _list_to_arrays(data, columns)
541+
elif isinstance(data[0], abc.Mapping):
542+
content, columns = _list_of_dict_to_arrays(data, columns)
543+
elif isinstance(data[0], ABCSeries):
544+
content, columns = _list_of_series_to_arrays(data, columns)
549545
else:
550546
# last ditch effort
551547
data = [tuple(x) for x in data]
552-
return _list_to_arrays(data, columns, coerce_float=coerce_float, dtype=dtype)
548+
content, columns = _list_to_arrays(data, columns)
549+
550+
content, columns = _finalize_columns_and_data(content, columns, dtype, coerce_float)
551+
return content, columns
553552

554553

555554
def _list_to_arrays(
556555
data: List[Scalar],
557556
columns: Union[Index, List],
558-
coerce_float: bool = False,
559-
dtype: Optional[DtypeObj] = None,
560557
) -> Tuple[List[Scalar], Union[Index, List[Axis]]]:
561558
# Note: we already check len(data) > 0 before getting hre
562559
if isinstance(data[0], tuple):
563560
content = lib.to_object_array_tuples(data)
564561
else:
565562
# list of lists
566563
content = lib.to_object_array(data)
567-
return _finalize_columns_and_data(content, columns, dtype, coerce_float)
564+
return content, columns
568565

569566

570567
def _list_of_series_to_arrays(
571568
data: List,
572569
columns: Union[Index, List],
573-
coerce_float: bool = False,
574-
dtype: Optional[DtypeObj] = None,
575570
) -> Tuple[List[Scalar], Union[Index, List[Axis]]]:
576571
if columns is None:
577572
# We know pass_data is non-empty because data[0] is a Series
@@ -596,15 +591,12 @@ def _list_of_series_to_arrays(
596591

597592
content = np.vstack(aligned_values)
598593

599-
content, columns = _finalize_columns_and_data(content, columns, dtype, coerce_float)
600594
return content, columns
601595

602596

603597
def _list_of_dict_to_arrays(
604598
data: List[Dict],
605599
columns: Union[Index, List],
606-
coerce_float: bool = False,
607-
dtype: Optional[DtypeObj] = None,
608600
) -> Tuple[List[Scalar], Union[Index, List[Axis]]]:
609601
"""
610602
Convert list of dicts to numpy arrays
@@ -619,8 +611,6 @@ def _list_of_dict_to_arrays(
619611
data : iterable
620612
collection of records (OrderedDict, dict)
621613
columns: iterables or None
622-
coerce_float : bool
623-
dtype : np.dtype
624614
625615
Returns
626616
-------
@@ -637,7 +627,6 @@ def _list_of_dict_to_arrays(
637627
data = [(type(d) is dict) and d or dict(d) for d in data]
638628

639629
content = lib.dicts_to_array(data, list(columns))
640-
content, columns = _finalize_columns_and_data(content, columns, dtype, coerce_float)
641630
return content, columns
642631

643632

0 commit comments

Comments
 (0)