2012-09-19 4 views
4

나는 큰 탭으로 구분 된 데이터 파일을 가지고 있으며, 판다 "read_csv 또는 'read_table'함수를 사용하여 Python으로 읽으려고합니다.이 큰 파일을 읽을 때 다음 오류가 표시됩니다. 심지어 "index_col"값을 끈 후.Python pandas duplicate values ​​error

>>> read_csv("test_data.txt", sep = "\t", header=0, index_col=None) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/pandas/io/parsers.py", line 187, in read_csv 
    return _read(TextParser, filepath_or_buffer, kwds) 
    File "/Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/pandas/io/parsers.py", line 160, in _read 
    return parser.get_chunk() 
    File "/Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/pandas/io/parsers.py", line 613, in get_chunk 
    raise Exception(err_msg) 
Exception: Implicit index (columns 0) have duplicate values [372, 1325, 1497, 1636, 2486,<br> 2679, 3032, 3125, 4261, 4669, 5215, 5416, 5569, 5783, 5821, 6053, 6597, 6835, 7485, 7629, 7684, 7827, 8590, 9361, 10194, 11199, 11707, 11782, 12397, 15134, 15299, 15457, 15637, 16147, 17448,<br> 17659, 18146, 18153, 18398, 18469, 19128, 19433, 19702, 19830, 19940, 20284, 21724, 22764, 23514, 25095, 25195, 25258, 25336, 27011, 28059, 28418, 28637, 30213, 30221, 30574, 30611, 30871, 31471, ....... 

나는 내 데이터 중복 값이있을 수 있습니다 생각 때문에 파일에 이러한 값의 일부를 리디렉션 GREP을 사용했다.

grep "9996744\|9965107\|740645\|9999752" test_data.txt > delnow.txt 

을 지금, 이 파일을 읽을 때 아래에서 볼 수 있듯이 올바르게 읽습니다.

>>> read_table("delnow.txt", sep = "\t", header=0, index_col=None) 
<class 'pandas.core.frame.DataFrame'> 
Int64Index: 20 entries, 0 to 19 
Data columns: 
0740645                 20 non-null values 
M                  20 non-null values 
BLACK/CAPE VERDEAN              20 non-null values 

여기에 무슨 일이 일어나고 있습니까? 나는 해결책을 찾는데 애 쓰지만 아무 소용이 없다.

유닉스에서 'uniq'명령을 시도해 중복 행이 있는지는 알 수 있지만 찾을 수 없습니다.

청크 크기로 수행해야합니까?

나는 팬더

>>> pandas.__version__ 
'0.7.3' 
>>> 
+2

어떤 팬더 버전을 사용하고 있습니까? 일부 데이터를 게시 할 수 있습니까? 나는 팬더의 최신 버전이 중복 색인 값을 허용한다고 생각합니다. . . – reptilicus

+0

탭이 분리되어 있습니까? 첫 번째 몇 줄을 포함시킬 수 있습니까? –

+0

@hayden, 샘플 파일을 포함 시켰습니다. 일반 탭으로 구분 된 파일입니다. 특별한 것은 없다. – Curious

답변

1

설치된 팬더 최신 버전의 다음 버전을 사용하고 있습니다.

지금 읽을 수 있습니다.

>>> import pandas 
>>> pandas.__version__ 
'0.8.1' 
관련 문제