David Li created ARROW-7663: ------------------------------- Summary: from_pandas gives TypeError instead of ArrowTypeError in some cases Key: ARROW-7663 URL: https://issues.apache.org/jira/browse/ARROW-7663 Project: Apache Arrow Issue Type: Bug Components: Python Affects Versions: 0.15.1 Reporter: David Li
from_pandas sometimes raises a TypeError with an uninformative error message rather than an ArrowTypeError with the full, informative type error for mixed-type array columns: {noformat} >>> pa.Table.from_pandas(pd.DataFrame({"a": ['a', 1]})) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "pyarrow/table.pxi", line 1177, in pyarrow.lib.Table.from_pandas File "/Users/lidavidm/Flight/arrow/build/python/lib.macosx-10.12-x86_64-3.7/pyarrow/pandas_compat.py", line 575, in dataframe_to_arrays for c, f in zip(columns_to_convert, convert_fields)] File "/Users/lidavidm/Flight/arrow/build/python/lib.macosx-10.12-x86_64-3.7/pyarrow/pandas_compat.py", line 575, in <listcomp> for c, f in zip(columns_to_convert, convert_fields)] File "/Users/lidavidm/Flight/arrow/build/python/lib.macosx-10.12-x86_64-3.7/pyarrow/pandas_compat.py", line 566, in convert_column raise e File "/Users/lidavidm/Flight/arrow/build/python/lib.macosx-10.12-x86_64-3.7/pyarrow/pandas_compat.py", line 560, in convert_column result = pa.array(col, type=type_, from_pandas=True, safe=safe) File "pyarrow/array.pxi", line 265, in pyarrow.lib.array File "pyarrow/array.pxi", line 80, in pyarrow.lib._ndarray_to_array File "pyarrow/error.pxi", line 107, in pyarrow.lib.check_status pyarrow.lib.ArrowTypeError: ("Expected a bytes object, got a 'int' object", 'Conversion failed for column a with type object') >>> pa.Table.from_pandas(pd.DataFrame({"a": [1, 'a']})) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "pyarrow/table.pxi", line 1177, in pyarrow.lib.Table.from_pandas File "/Users/lidavidm/Flight/arrow/build/python/lib.macosx-10.12-x86_64-3.7/pyarrow/pandas_compat.py", line 575, in dataframe_to_arrays for c, f in zip(columns_to_convert, convert_fields)] File "/Users/lidavidm/Flight/arrow/build/python/lib.macosx-10.12-x86_64-3.7/pyarrow/pandas_compat.py", line 575, in <listcomp> for c, f in zip(columns_to_convert, convert_fields)] File "/Users/lidavidm/Flight/arrow/build/python/lib.macosx-10.12-x86_64-3.7/pyarrow/pandas_compat.py", line 560, in convert_column result = pa.array(col, type=type_, from_pandas=True, safe=safe) File "pyarrow/array.pxi", line 265, in pyarrow.lib.array File "pyarrow/array.pxi", line 80, in pyarrow.lib._ndarray_to_array TypeError: an integer is required (got type str) {noformat} Noticed on 0.15.1 and on master when we tried to upgrade. -- This message was sent by Atlassian Jira (v8.3.4#803005)