반응형
판다스로 용량이 큰 파일을 읽을 때 속도가 느려지고, 심지어는 커널이 죽을 때도 있습니다. 특히 금융권, 제조업 데이터는 크키가 엄청나기 때문에 전체 파일을 읽어오기 힘든데요. 이때 파일을 쪼개서(=끊어서) 읽는 방법이 있습니다.
사이킷런 데이터셋에서 제공하는 "아이리스" 데이터를 사용하겠습니다.
import pandas as pd
from sklearn.datasets import load_iris
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df.to_csv('./iris.csv')
파일을 쪼개 읽는 방법은 read_csv() 파라미터로 chuncksize 를 추가하면 됩니다.
ck = pd.read_csv('./iris.csv', chunksize=10) # 10개로 쪼갠다는 의미
ck = list(ck)
len(ck) # 15
for df in ck:
display(df.head())
위에서 10개로 쪼갠 데이터셋을 다시 하나로 합치려면 아래 concat 을 사용하면 됩니다. 2개 혹은 3개 단위로 합치고 싶다면 리스트 인덱스(ck는 리스트 타입이기 때문)를 활용하면 되겠습니다.
original = pd.concat(ck)
print(original.shape)
original.head()
728x90
반응형
'문돌이 존버 > 각종 꿀팁 및 해결법' 카테고리의 다른 글
도커(Docker) address already in use 에러 (0) | 2021.11.19 |
---|---|
우분투(Ubuntu) "System restart required" 오류 해결 (0) | 2021.08.27 |
터미널로 CPU 코어 및 쓰레드 개수 확인 (0) | 2021.07.24 |
git 원격 branch 생성 및 push하기 (0) | 2021.06.23 |
np.asmatrix vs matrix 차이점 (0) | 2021.04.06 |