@@ -524,54 +524,49 @@ def to_arrays(
524
524
if columns is not None :
525
525
return [[]] * len (columns ), columns
526
526
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
+
537
528
elif isinstance (data [0 ], Categorical ):
538
529
if columns is None :
539
530
columns = ibase .default_index (len (data ))
540
531
return data , columns
541
- elif (
542
- isinstance (data , (np .ndarray , ABCSeries , Index ))
543
- and data .dtype .names is not None
544
- ):
545
532
533
+ elif isinstance (data , np .ndarray ) and data .dtype .names is not None :
534
+ # e.g. recarray
546
535
columns = list (data .dtype .names )
547
536
arrays = [data [k ] for k in columns ]
548
537
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 )
549
545
else :
550
546
# last ditch effort
551
547
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
553
552
554
553
555
554
def _list_to_arrays (
556
555
data : List [Scalar ],
557
556
columns : Union [Index , List ],
558
- coerce_float : bool = False ,
559
- dtype : Optional [DtypeObj ] = None ,
560
557
) -> Tuple [List [Scalar ], Union [Index , List [Axis ]]]:
561
558
# Note: we already check len(data) > 0 before getting hre
562
559
if isinstance (data [0 ], tuple ):
563
560
content = lib .to_object_array_tuples (data )
564
561
else :
565
562
# list of lists
566
563
content = lib .to_object_array (data )
567
- return _finalize_columns_and_data ( content , columns , dtype , coerce_float )
564
+ return content , columns
568
565
569
566
570
567
def _list_of_series_to_arrays (
571
568
data : List ,
572
569
columns : Union [Index , List ],
573
- coerce_float : bool = False ,
574
- dtype : Optional [DtypeObj ] = None ,
575
570
) -> Tuple [List [Scalar ], Union [Index , List [Axis ]]]:
576
571
if columns is None :
577
572
# We know pass_data is non-empty because data[0] is a Series
@@ -596,15 +591,12 @@ def _list_of_series_to_arrays(
596
591
597
592
content = np .vstack (aligned_values )
598
593
599
- content , columns = _finalize_columns_and_data (content , columns , dtype , coerce_float )
600
594
return content , columns
601
595
602
596
603
597
def _list_of_dict_to_arrays (
604
598
data : List [Dict ],
605
599
columns : Union [Index , List ],
606
- coerce_float : bool = False ,
607
- dtype : Optional [DtypeObj ] = None ,
608
600
) -> Tuple [List [Scalar ], Union [Index , List [Axis ]]]:
609
601
"""
610
602
Convert list of dicts to numpy arrays
@@ -619,8 +611,6 @@ def _list_of_dict_to_arrays(
619
611
data : iterable
620
612
collection of records (OrderedDict, dict)
621
613
columns: iterables or None
622
- coerce_float : bool
623
- dtype : np.dtype
624
614
625
615
Returns
626
616
-------
@@ -637,7 +627,6 @@ def _list_of_dict_to_arrays(
637
627
data = [(type (d ) is dict ) and d or dict (d ) for d in data ]
638
628
639
629
content = lib .dicts_to_array (data , list (columns ))
640
- content , columns = _finalize_columns_and_data (content , columns , dtype , coerce_float )
641
630
return content , columns
642
631
643
632
0 commit comments