Сохранение индекса при загрузке паркета Pyarrow из панд DataFrame - PullRequest
0 голосов
/ 06 декабря 2018

Мне нужно преобразовать dict со значениями dict в паркет, у меня есть данные, которые выглядят так:

{"KEY":{"2018-12-06":250.0,"2018-12-07":234.0}}

Я преобразую в pandas dataframe и затем пишу в pyarrowтаблица:

import pandas as pd
import pyarrow as pa
import pyarrow.parquet as pq

data = {"KEY":{"2018-12-06":250.0,"2018-12-07":234.0}}
df = pd.DataFrame.from_dict(data, orient='index')
table = pa.Table.from_pandas(df, preserve_index=False)
pq.write_table(table, 'file.parquet', flavor='spark')

Я получаю данные, в которых есть только даты и значения, но без ключа из условия.:

{"2018-12-06":250.0,"2018-12-07":234.0}

Мне нужно также иметьключ данных:

{"KEY": {"2018-12-06":250.0,"2018-12-07":234.0}}

1 Ответ

0 голосов
/ 06 декабря 2018

Если вы хотите сохранить индекс, вы должны были указать его как таковой;набор preserve_index=True:

table = pa.Table.from_pandas(df, preserve_index=True)

pq.write_table(table, 'file.parquet', flavor='spark')
pq.read_table('file.parquet').to_pandas()  # Index is preserved.

     2018-12-06  2018-12-07
KEY       250.0       234.0
...