|
4 | 4 |
|
5 | 5 | from pandas._libs import lib
|
6 | 6 | from pandas.compat.numpy import function as nv
|
| 7 | +from pandas.util._validators import validate_fillna_kwargs |
7 | 8 |
|
8 | 9 | from pandas.core.dtypes.dtypes import ExtensionDtype
|
9 | 10 | from pandas.core.dtypes.generic import ABCIndexClass, ABCSeries
|
10 |
| -from pandas.core.dtypes.inference import is_list_like |
| 11 | +from pandas.core.dtypes.inference import is_array_like, is_list_like |
11 | 12 |
|
12 | 13 | from pandas import compat
|
13 | 14 | from pandas.core import nanops
|
| 15 | +from pandas.core.missing import backfill_1d, pad_1d |
14 | 16 |
|
15 | 17 | from .base import ExtensionArray, ExtensionOpsMixin
|
16 | 18 |
|
@@ -114,7 +116,9 @@ class PandasArray(ExtensionArray, ExtensionOpsMixin, NDArrayOperatorsMixin):
|
114 | 116 | def __init__(self, values):
|
115 | 117 | if isinstance(values, type(self)):
|
116 | 118 | values = values._ndarray
|
117 |
| - values = np.asarray(values) |
| 119 | + if not isinstance(values, np.ndarray): |
| 120 | + raise ValueError("'values' must be a NumPy array.") |
| 121 | + |
118 | 122 | if values.ndim != 1:
|
119 | 123 | raise ValueError("PandasArray must be 1-dimensional.")
|
120 | 124 |
|
@@ -242,10 +246,6 @@ def isna(self):
|
242 | 246 | return isna(self._ndarray)
|
243 | 247 |
|
244 | 248 | def fillna(self, value=None, method=None, limit=None):
|
245 |
| - from pandas.api.types import is_array_like |
246 |
| - from pandas.util._validators import validate_fillna_kwargs |
247 |
| - from pandas.core.missing import pad_1d, backfill_1d |
248 |
| - |
249 | 249 | # TODO(_values_for_fillna): remove this
|
250 | 250 | value, method = validate_fillna_kwargs(value, method)
|
251 | 251 |
|
|
0 commit comments