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
'CODING > Python' 카테고리의 다른 글
[Python/모듈] 폴더 내 사용한 패키지 간략 추출하기 / 파이썬 패키지 간략하게 뽑기 / pipreqs (0) | 2023.07.25 |
---|---|
[Python] Dictionary에 key값이 없을 때 .get() / .setdefault()로 예외처리 (0) | 2023.05.12 |
[Python] 함수 실행 시간 구하기 / 데코레이터(@)를 사용한 함수 수행 시간 구하기 (0) | 2023.05.12 |
[Python/graphs] plotly.express 에서 그래프 크기 조절하기/plotly figure size 조절 (0) | 2023.05.11 |
[Python/pandas] 판다스 지수표현 없애기 /판다스 소수점 출력 조절하기 / 데이터 프레임 소수점 출력 형식 바꾸기 (0) | 2023.05.10 |
댓글