텍스트 파일을 맞춤형으로 가지고 있습니다. 각 줄에서 관련 칼럼을 추출하는 파서도 있습니다. 한 번에 한 줄씩 파일을 읽고 데이터 프레임에 추가하고 싶습니다.파일을 구문 분석하고 데이터 프레임을 만드는 방법
문제는 데이터 프레임에 행을 추가하는 것이 느립니다.
어떻게해야할까요?
텍스트 파일을 맞춤형으로 가지고 있습니다. 각 줄에서 관련 칼럼을 추출하는 파서도 있습니다. 한 번에 한 줄씩 파일을 읽고 데이터 프레임에 추가하고 싶습니다.파일을 구문 분석하고 데이터 프레임을 만드는 방법
문제는 데이터 프레임에 행을 추가하는 것이 느립니다.
어떻게해야할까요?
파일 크기가 클 경우 코드에서 디스크에서 파일을 읽는 시간이 아니라 데이터 프레임에 행을 추가하는 시간이 필요합니다. 예를 들어 SSD (읽기 처리량 ~ 400MB/s)에서 4GB 파일은 디스크에서로드하는 데 10 초가 걸립니다. HDD (~ 40MB/s)에서는 최대 100 초가 소요될 수 있습니다. 이 경우로드 속도를 높이는 한 가지 방법은 파일을 팬더에서 지원하는 형식으로 변환하고 압축 한 다음 런타임 compression
옵션 read_table()을 사용하여 데이터 프레임을 만드는 동안 즉석에서 압축을 푸는 것입니다.
그렇지 않으면이 정말 문제가되지 않습니다 추가 하나 하나 확인하지 않고 파일이 메모리에 버퍼가 너무 큰 경우, 당신은이 옵션을 사용할 수 있습니다 Pandas에서 지원되는 것과 일치하는 형식; 예 : CSV 파일은 당신이 갈 수있는 꽤 표준적인 옵션처럼 보입니다.
The other ways to construct a dataframe : 튜플에서
DataFrame.from_records 생성자, 또한 시리즈, 배열의 dicts 또는 dicts
에서 배열
DataFrame.from_dict를 기록 DataFrame.from_items (키, 값) 쌍의 시퀀스에서
당신은 dataframe에 추가 속도가 느린 것을 무슨 말을하게? 파일이 큰 경우 항목을 하나씩 추가하더라도 코드가 디스크에서 읽을 수있는 시간으로 제한 될 가능성이 높습니다. –
@eleanora, 나는 당신에게 정식 답을 줄 수 있도록 텍스트 파일의 샘플을 정확히 같은 형식으로 게시 할 것을 권합니다. 일반적으로 단일 행을 데이터 프레임에 추가하는 것은 대단히 느립니다. – MaxU