대용량 파일 (~ 480MB, 5,250,000 개의 레코드, 주가 일일 데이터 -dt, o, h, l, c, v)을로드하려고했습니다. , val, adj, fv, sym, code - 약 4,500 개의 악기)를 사용하여 팬더에 넣습니다. 그것은 잘 실행되고 DataFrame을 만듭니다. 그러나 패널로 변환 할 때 여러 주식의 값이 떨어져 있고 원래의 CSV 파일의 값과 아무데도 가깝지 않은 것으로 나타났습니다. 큰 파일을 파이썬 팬더에 read_csv를 사용하여 패널로 변환 할 때
나는 다음 read_csv에서 chunksize 영역 매개 변수를 사용하려고 시도하고 루프를 사용 :reader = read_csv("bigfile.csv",index_col=[0,9],parse_dates=True,names=['n1','n2',...,'nn'], chunksize=100000)
new_df = DataFrame(reader.get_chunk(1))
for chunk in reader:
new_df = concat(new_df, chunk)
이이 데이터를 읽지 만 :
- 내가 잘못된 같은 얻을 값 (편집 :)을 패널로 변환 할 때
- 일반 read_csv보다 오래 걸림 (반복기 없음)
어떤 아이디어라도이 문제를 해결하는 방법은 무엇입니까?
편집 : 문제를 반영하여 질문을 변경했습니다. 데이터 프레임이 좋으며 패널로 변환하는 것이 문제입니다. 입력 된 CSV 파일을 분할하고 병합 한 다음 패널로 변환 한 후에도 오류가 표시됩니다. 다중 인덱스 DataFrame을 유지 관리하면 문제가 없으며 값이 올바르게 표시됩니다.
문제가 CSV 파일에있는 것 같습니다. 예상치 못한 위치에 구분 기호 문자가 포함되어 CSV 구문 분석이 잘못 될 수 있습니다. 처음에는 데이터 사본 인 테스트 파일을 작성하여 문제의 범위를 좁히고 문제의 원인이되는 파일 부분을 0으로 만들 때까지 점진적으로 파일의 일부를 제거하십시오. – BrenBarn
디버깅 할 수 있도록 파일을 나와 공유 할 수 있습니까? https://github.com/pydata/pandas/issues/1855에서 문제를 만들었습니다. 공개 데이터가 아니라면 직접 메일을 보낼 수 있습니까? wmail.com에서 직접 메일을 보내십시오. –