반응형
팬더 데이터 프레임의 첫 몇 줄을 읽는 방법
내장된 사용 방법이 있습니까?read_csv
첫 번째 책만 읽다n
줄의 길이를 미리 알지 못하는 파일의 줄?읽는 데 시간이 오래 걸리는 대용량 파일이 있는데, 때때로 첫 번째 줄(예: 20줄)만 사용하여 샘플을 얻고자 합니다(그리고 전체 파일을 로드하지 않고 파일의 선두를 차지하는 것을 선호합니다).
만약 내가 총 대사의 수를 안다면 나는 다음과 같은 것을 할 수 있을 것입니다.footer_lines = total_lines - n
이것을 그에게 전달합니다.skipfooter
키워드 arg.현재 해결책은 수동으로 첫번째를 잡는 것입니다.n
파이썬과 스트링이 있는 선팬더들에게 전해드립니다.
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
read_csv에서 'skiprows' 인수를 사용합니다. 예를 들어:
df = pd.read_csv(filename, skiprows=range(2, 20000), nrows=10000)
언급URL : https://stackoverflow.com/questions/15008970/way-to-read-first-few-lines-for-pandas-dataframe
반응형
'source' 카테고리의 다른 글
WooCommerce 카트 및 체크아웃에서 상품 가격 변경 (0) | 2023.10.04 |
---|---|
도커 - 호스트 USB 또는 직렬 장치에 액세스할 수 있는 방법? (0) | 2023.10.04 |
'void*'를 해제해도 괜찮습니까? (0) | 2023.10.04 |
Linux에서 WaitForSingleObject 및 WaitForMultipleObjects equivalent? (0) | 2023.10.04 |
Office 365용 VSTO 추가 기능 (0) | 2023.10.04 |