[ https://issues.apache.org/jira/browse/ARROW-4538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17661560#comment-17661560 ]
Rok Mihevc commented on ARROW-4538: ----------------------------------- This issue has been migrated to [issue #21087|https://github.com/apache/arrow/issues/21087] on GitHub. Please see the [migration documentation|https://github.com/apache/arrow/issues/14542] for further details. > [PYTHON] Remove index column from subschema in write_to_dataframe > ----------------------------------------------------------------- > > Key: ARROW-4538 > URL: https://issues.apache.org/jira/browse/ARROW-4538 > Project: Apache Arrow > Issue Type: Bug > Components: Python > Affects Versions: 0.12.0 > Reporter: Christian Thiel > Assignee: Christian Thiel > Priority: Major > Labels: pull-request-available > Fix For: 0.13.0 > > Time Spent: 1h > Remaining Estimate: 0h > > When using {{pa.Table.from_pandas()}} with preserve_index=True and > dataframe.index.name!=None the prefix {{__index_level_}} is not added to the > respective schema name. This breaks {{write_to_dataset}} with active > partition columns. > {code} > import pyarrow as pa > import pyarrow.parquet as pq > import os > import shutil > import pandas as pd > import numpy as np > PATH_PYARROW_MANUAL = '/tmp/pyarrow_manual.pa/' > if os.path.exists(PATH_PYARROW_MANUAL): > shutil.rmtree(PATH_PYARROW_MANUAL) > os.mkdir(PATH_PYARROW_MANUAL) > arrays = np.array([np.array([0, 1, 2]), np.array([3, 4]), np.nan, np.nan]) > df = pd.DataFrame([0, 0, 1, 1], columns=['partition_column']) > df['arrays'] = pd.Series(arrays) > df.index.name='ID' > table = pa.Table.from_pandas(df, preserve_index=True) > print(table.schema.names) > pq.write_to_dataset(table, root_path=PATH_PYARROW_MANUAL, > partition_cols=['partition_column'], > preserve_index=True > ) > {code} > Removing {{df.index.name='ID'}} works. Also disabling {{partition_cols}} in > {{write_to_dataset}} works. -- This message was sent by Atlassian Jira (v8.20.10#820010)