Python – сохранение кадра данных Pandas с пользовательскими типами с использованием PyArrow и Parquet

Чтобы сохранить DataFrame pandas с пользовательскими типами с помощью PyArrow и Parquet в Python, вы можете использовать несколько методов. Вот несколько подходов:

Метод 1: непосредственное использование PyArrow

import pandas as pd
import pyarrow as pa
import pyarrow.parquet as pq
# Create a pandas DataFrame with custom types
df = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']})
df['Column1'] = df['Column1'].astype('int8')  # Set custom type for Column1
# Convert pandas DataFrame to PyArrow Table
table = pa.Table.from_pandas(df)
# Save PyArrow Table as Parquet file
pq.write_table(table, 'output.parquet')

Метод 2. Использование pandas с PyArrow в качестве движка

import pandas as pd
# Create a pandas DataFrame with custom types
df = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']})
df['Column1'] = df['Column1'].astype('int8')  # Set custom type for Column1
# Save DataFrame to Parquet using PyArrow as the engine
df.to_parquet('output.parquet', engine='pyarrow')

Метод 3. Использование библиотеки fastparquet

import pandas as pd
import fastparquet
# Create a pandas DataFrame with custom types
df = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']})
df['Column1'] = df['Column1'].astype('int8')  # Set custom type for Column1
# Save DataFrame to Parquet using fastparquet
fastparquet.write('output.parquet', df)

Метод 4. Использование библиотеки feather

import pandas as pd
import feather
# Create a pandas DataFrame with custom types
df = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']})
df['Column1'] = df['Column1'].astype('int8')  # Set custom type for Column1
# Save DataFrame to Feather format
feather.write_dataframe(df, 'output.feather')