-
Python parquet 타입으로 읽기, 쓰기Python/etc 2022. 10. 6. 13:37728x90반응형
목차
csv 데이터는 읽는 것 보다 쓰는 데 더욱 많은 시간이 걸린다.
arrow에서는 csv 포맷 쓰기를 지원하지는 않기 때문에 parquet 타입 파일을 활용해야 한다.
csv를 parquet 타입으로 저장
import pyarrow.parquet as pq from pyarrow import csv pq.write_table(csv.read_csv('data.csv'), 'data.parquet')
데이터 프레임을 parquet 파일로 저장
데이터 프레임을 먼저 Table로 변환 후 parquet타입으로 저장한다.
import pandas as pd df.to_parquet('data.parquet', engine = 'pyarrow', index = False)
import pyarrow as pa import pyarrow.parquet as pq tabel_from_pandas = pa.Table.from_pandas(df,preserve_index = False) pq.write_table(table_from_pandas, 'data.parquet')
※ Pandas는 nanosecond를 지원하지만, Spark 같은 경우는 nanosecond를 지원하지 않기 때문에 관련 옵션이 있다.
parquet 파일을 데이터 프레임으로 읽기
읽는 속도가 빠르고 메타데이터로 설정한 데이터 타입이 유지되기 때문에 더 효과적이다.
※ read_pandas는 read_table 함수에 pandas의 index 컬럼 읽기가 추가된 함수이다.
import pandas as pd df = pd.read_parquet('data.parquet', engine = 'pyarrow')
import pyarrow.parquet as pq df = pq.read_pandas('data.parquet').to_pandas()
반응형'Python > etc' 카테고리의 다른 글
Python String strip(), rstrip(), lstrip() (0) 2022.10.11 Python tqdm이란? (0) 2022.10.06