[ https://issues.apache.org/jira/browse/ARROW-2367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16432692#comment-16432692 ]
Bryant Menn commented on ARROW-2367: ------------------------------------ So would the ideal implementation then create {{pa.chunked_array()}} and have {{pa.Table.from_pandas()}} call that instead or would there be some criteria to decide between {{pa.array()}} (I believe this is the current flow for {{pa.Tablefrom_pandas()}}) and {{pa.chunked_array()}}? I was trying to follow the process implemented for {{BinaryArray}} conversion to {{ChunkedArray}} but not finished working through and understanding it.. > ListArray has trouble with sizes greater than kMaximumCapacity > -------------------------------------------------------------- > > Key: ARROW-2367 > URL: https://issues.apache.org/jira/browse/ARROW-2367 > Project: Apache Arrow > Issue Type: Bug > Components: Python > Affects Versions: 0.9.0 > Reporter: Bryant Menn > Priority: Major > > When creating a Pandas dataframe with lists as elements as a column the > following error occurs when converting to a {{pyarrow.Table}} object. > {code} > Traceback (most recent call last): > File "arrow-2227.py", line 16, in <module> > arr = pa.array(df['strings'], from_pandas=True) > File "array.pxi", line 177, in pyarrow.lib.array > File "error.pxi", line 77, in pyarrow.lib.check_status > File "error.pxi", line 77, in pyarrow.lib.check_status > pyarrow.lib.ArrowInvalid: BinaryArray cannot contain more than 2147483646 > bytes, have 2147483647 > {code} > The following code was used to generate the error (adapted from ARROW-2227): > {code} > import pandas as pd > import pyarrow as pa > # Commented lines were used to test non-binary data types, both cause the > same error > v1 = b'x' * 100000000 > v2 = b'x' * 147483646 > # v1 = 'x' * 100000000 > # v2 = 'x' * 147483646 > df = pd.DataFrame({ > 'strings': [[v1]] * 20 + [[v2]] + [[b'x']] > # 'strings': [[v1]] * 20 + [[v2]] + [['x']] > }) > arr = pa.array(df['strings'], from_pandas=True) > assert isinstance(arr, pa.ChunkedArray), type(arr) > {code} > Code was run using Python 3.6 with PyArrow installed from conda-forge on > macOS High Sierra. -- This message was sent by Atlassian JIRA (v7.6.3#76005)