File tree 1 file changed +5
-7
lines changed
1 file changed +5
-7
lines changed Original file line number Diff line number Diff line change 87
87
88
88
if TYPE_CHECKING :
89
89
from collections .abc import (
90
+ Collection ,
90
91
Sequence ,
91
- Sized ,
92
92
)
93
93
94
94
from pandas ._typing import (
@@ -1586,7 +1586,7 @@ def _maybe_box_and_unbox_datetimelike(value: Scalar, dtype: DtypeObj):
1586
1586
return _maybe_unbox_datetimelike (value , dtype )
1587
1587
1588
1588
1589
- def construct_1d_object_array_from_listlike (values : Sized ) -> np .ndarray :
1589
+ def construct_1d_object_array_from_listlike (values : Collection ) -> np .ndarray :
1590
1590
"""
1591
1591
Transform any list-like object in a 1-dimensional numpy array of object
1592
1592
dtype.
@@ -1604,11 +1604,9 @@ def construct_1d_object_array_from_listlike(values: Sized) -> np.ndarray:
1604
1604
-------
1605
1605
1-dimensional numpy array of dtype object
1606
1606
"""
1607
- # numpy will try to interpret nested lists as further dimensions, hence
1608
- # making a 1D array that contains list-likes is a bit tricky:
1609
- result = np .empty (len (values ), dtype = "object" )
1610
- result [:] = values
1611
- return result
1607
+ # numpy will try to interpret nested lists as further dimensions in np.array(),
1608
+ # hence explicitly making a 1D array using np.fromiter
1609
+ return np .fromiter (values , dtype = "object" , count = len (values ))
1612
1610
1613
1611
1614
1612
def maybe_cast_to_integer_array (arr : list | np .ndarray , dtype : np .dtype ) -> np .ndarray :
You can’t perform that action at this time.
0 commit comments