본문 바로가기
CODING/Python

Pandas 2.0 : 더욱 빨라진 pandas / 결측치 처리 형 변환 없이! (1)

by 밍톨맹톨 2023. 7. 3.
728x90
728x90
!pip download pandas==2.0.3

 

1. 데이터 로드 속도 및 메모리 줄이기 

약 850KB 짜리 데이터 Load 속도 줄이기 

engine 로 Load속도 높이고, 로 Load속도 높이고, 

dtype_backend 로 메모리 줄이기

import pandas as pd

%timeit df = pd.read_csv("Data/Ford Motor Company.csv")
# 6.49 ms ± 215 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df_arrow = pd.read_csv("Data/Ford Motor Company.csv", engine='pyarrow', dtype_backend='pyarrow')
# 2.83 ms ± 71.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

약 56% 줄어드는 것을 확인할 수 있음. 

 

2. 결측값 처리 용이

기존에는 결측값을 불러올 때 float형으로 형 변환이 되었지만 이때 [dtype_backend='numpy_nullable']을 사용하면

Type 변환 없이 사용할 수 있음 

 
# Origin
df = pd.read_csv("Data/Ford Motor Company.csv")

vol = df['Volume']

# result (1)
vol[:5]


# result (2) 
vol.iloc[0] = None
vol[:5]

 

# dtype_backend='numpy_nullable'
%timeit df_arrow = pd.read_csv("Data/Ford Motor Company.csv", engine='pyarrow', dtype_backend='numpy_nullable')

vol = df_arrow['Volume']

# result (3)
vol[:5]


# result (4)
vol.iloc[0] = None
vol[:5]​

 

[Pandas 2.0.0 종속 모듈 및 버젼]

728x90

댓글