From 4cc77f7dc10657746b08918d53d6581ab307b625 Mon Sep 17 00:00:00 2001 From: Brock Mendel Date: Wed, 11 Jul 2018 08:16:48 -0700 Subject: [PATCH] Fix is_list_like on zero-dim arrays #19011 --- pandas/core/dtypes/inference.py | 7 ++++++- pandas/tests/dtypes/test_inference.py | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pandas/core/dtypes/inference.py b/pandas/core/dtypes/inference.py index d747e69d1ff39..a0456630c9a0f 100644 --- a/pandas/core/dtypes/inference.py +++ b/pandas/core/dtypes/inference.py @@ -278,10 +278,15 @@ def is_list_like(obj): False >>> is_list_like(1) False + >>> is_list_like(np.array([2])) + True + >>> is_list_like(np.array(2))) + False """ return (isinstance(obj, Iterable) and - not isinstance(obj, string_and_binary_types)) + not isinstance(obj, string_and_binary_types) and + not (isinstance(obj, np.ndarray) and obj.ndim == 0)) def is_array_like(obj): diff --git a/pandas/tests/dtypes/test_inference.py b/pandas/tests/dtypes/test_inference.py index 65527ac1b278f..f81767156b255 100644 --- a/pandas/tests/dtypes/test_inference.py +++ b/pandas/tests/dtypes/test_inference.py @@ -67,13 +67,14 @@ def __getitem__(self): [ [], [1], (1, ), (1, 2), {'a': 1}, set([1, 'a']), Series([1]), - Series([]), Series(['a']).str]) + Series([]), Series(['a']).str, + np.array([2])]) def test_is_list_like_passes(ll): assert inference.is_list_like(ll) @pytest.mark.parametrize( - "ll", [1, '2', object(), str]) + "ll", [1, '2', object(), str, np.array(2)]) def test_is_list_like_fails(ll): assert not inference.is_list_like(ll)