반응형
Pandas 데이터 프레임의 처음 몇 줄을 읽는 방법
미리 줄의 길이를 모르고 파일 read_csv
의 첫 n
줄만 읽는 데 사용하는 기본 제공 방법이 있습니까? 읽는 데 오랜 시간이 걸리는 대용량 파일이 있는데, 샘플을 얻기 위해 첫 번째, 예를 들어 20 줄만 사용하고 싶을 때가 있습니다 (전체 내용을로드하고 헤드를 차지하는 것을 선호하지 않음).
총 줄 수를 알고 있다면 다음과 같이 할 수 footer_lines = total_lines - n
있으며 skipfooter
키워드 arg에 전달할 수 있습니다. 내 현재 솔루션은 n
python 및 StringIO로 첫 번째 줄 을 수동으로 pandas에 가져 오는 것입니다.
import pandas as pd
from StringIO import StringIO
n = 20
with open('big_file.csv', 'r') as f:
head = ''.join(f.readlines(n))
df = pd.read_csv(StringIO(head))
그렇게 나쁘지는 않지만 키워드 등을 사용하여 더 간결한 '판다 식'(?) 방법이 있습니까?
nrows
매개 변수를 사용할 수 있다고 생각합니다 . 에서 워드 프로세서 :
nrows : int, default None
Number of rows of file to read. Useful for reading pieces of large files
작동하는 것 같습니다. 표준 대용량 테스트 파일 (988504479 바이트, 5344499 줄) 중 하나 사용 :
In [1]: import pandas as pd
In [2]: time z = pd.read_csv("P00000001-ALL.csv", nrows=20)
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00 s
In [3]: len(z)
Out[3]: 20
In [4]: time z = pd.read_csv("P00000001-ALL.csv")
CPU times: user 27.63 s, sys: 1.92 s, total: 29.55 s
Wall time: 30.23 s
참고 URL : https://stackoverflow.com/questions/15008970/way-to-read-first-few-lines-for-pandas-dataframe
반응형
'Nice programing' 카테고리의 다른 글
ASP.NET MVC의 Json ()에서 소문자 속성 이름 강제 (0) | 2020.10.07 |
---|---|
Postgres 사용자가 있는지 확인하는 방법은 무엇입니까? (0) | 2020.10.07 |
Netbeans (PHP)의 변수 유형 힌트 (0) | 2020.10.06 |
bash를 사용하여 파일에 파일 확장자 추가 (0) | 2020.10.06 |
웹 API 속성 라우팅의 선택적 매개 변수 (0) | 2020.10.06 |