2017-11-08 5 views
0

겉으로는 일반 데이터에 대한 오류 토큰 화 데이터 : https://archive.ics.uci.edu/ml/machine-learning-databases/el_nino-mld/el_nino.data.html팬더 : read_csv, 나는에서 elnino 데이터 집합을 읽을려고

그러나, 나는 '오류 tokeninzing 데이터'를 얻고있다. 워드 패드로 열면 데이터 자체가 다음과 같이 보입니다.

1 1 8.96 -140.32 -6.3 -6.4 83.5 27.32 27.57 
1 2 8.95 -140.32 -5.7 -3.6 86.4 26.70 27.62 
1 3 8.96 -140.32 -6.2 -5.8 83.0 27.36 27.68 
1 4 8.96 -140.34 -6.4 -5.3 82.2 27.32 27.70 
1 5 8.96 -140.33 -4.9 -6.2 87.3 27.09 27.85 
1 6 8.96 -140.33 -6.3 -4.9 91.5 26.82 27.98 
1 7 8.97 -140.32 -6.7 -3.7 94.1 26.62 28.04 
1 8 8.96 -140.33 -6.3 -4.8 92.0 26.89 27.98 
1 9 8.97 -140.33 -6.3 -4.9 86.9 27.44 28.13 
1 10 8.97 -140.32 -4.2 -2.5 87.3 26.62 28.14 
1 11 8.96 -140.32 -6.8 -2.4 86.0 27.60 28.09 
1 12 8.96 -140.33 -7.1 -3.2 82.2 27.87 28.15 
1 13 8.96 -140.33 -6.7 -4.7 81.3 27.75 28.19 

나는보기에 문제가없는 것처럼 보입니다. 지금까지 시도 :

pd.read_csv('elnino', sep=' | | |\t', header=None) # ValueError: Expected 13 fields in line 11, saw 35 
pd.read_csv('elnino', sep=' ', error_bad_lines=False, header=None) # undesirable, because I'm losing more than half the lines, which are fine and the resulting dataframe still has a lot of nans 

입력 데이터에 문제가 있습니까?

+0

감사합니다. 그냥 read_fwf()를 시도했지만, 역시 작동했지만 read_csv()도 잘 동작합니다. 문제는 정의되지 않은 구분 기호를 사용했다는 것입니다. –

답변

0

단지 처음 몇 줄을 읽었을 때, 나는 sep=' | | |\t'이 원인 인 몇 명의 사람들에게 나타났습니다. 3 칸이 '[sep] nan [sep]'로 해석되었다.

솔루션은 다음과 같습니다

df = pd.read_csv('elnino', sep=' *', header=None) 

편집 : DF = pd.read_csv ('elnino', delim_whitespace = 사실, 헤더 = 없음) : 그냥이 아마 더욱 적절한 해결책이 발견