2016-09-25 2 views
2

현재 link에서 데이터 세트를 작성 중입니다. 하지만 판다에서이 파일들을 읽을 수 없습니까? 누구나 그러한 파일을 가지고 놀려고 했습니까?팬더 : 특정 파일을 여는 방법

나는 다음과 같은 노력하고 있어요 :

import pandas as pd 

df = pd.read_csv("m_4549381c276b46c6.0000") 

그러나 나는 다음과 같은 오류를

Error tokenizing data. C error: Buffer overflow caught - possible malformed input file. 
+0

[mcve]를 제공 할 수 있습니까? –

+0

감사합니다. 코드를 살펴보십시오. –

답변

3

그 파일이 저장된 SFrame의 부분입니다 얻을. 이제 팬더 DF로 변환 할 수 있습니다 D:/download/sframe/

In [7]: import sframe 

In [7]: sf = sframe.SFrame('D:/download/sframe/') 

In [8]: sf 
Out[8]: 
Columns: 
     URI  str 
     name str 
     text str 

Rows: 59071 

Data: 
+-------------------------------+---------------------+ 
|    URI    |   name  | 
+-------------------------------+---------------------+ 
| <http://dbpedia.org/resour... | Digby Morrell | 
| <http://dbpedia.org/resour... | Alfred J. Lewy | 
| <http://dbpedia.org/resour... | Harpdog Brown | 
| <http://dbpedia.org/resour... | Franz Rottensteiner | 
| <http://dbpedia.org/resour... |  G-Enka  | 
| <http://dbpedia.org/resour... | Sam Henderson | 
| <http://dbpedia.org/resour... | Aaron LaCrate | 
| <http://dbpedia.org/resour... | Trevor Ferguson | 
| <http://dbpedia.org/resour... |  Grant Nelson | 
| <http://dbpedia.org/resour... |  Cathy Caruth | 
+-------------------------------+---------------------+ 
+-------------------------------+ 
|    text    | 
+-------------------------------+ 
| digby morrell born 10 octo... | 
| alfred j lewy aka sandy le... | 
| harpdog brown is a singer ... | 
| franz rottensteiner born i... | 
| henry krvits born 30 decem... | 
| sam henderson born october... | 
| aaron lacrate is an americ... | 
| trevor ferguson aka john f... | 
| grant nelson born 27 april... | 
| cathy caruth born 1955 is ... | 
+-------------------------------+ 
[59071 rows x 3 columns] 
Note: Only the head of the SFrame is printed. 
You can use print_rows(num_rows=m, num_columns=n) to print more rows and columns. 

: 나는 people_wiki.gl에서 모든 파일을 다운로드 한 및 아래에 넣어 :

import sframe 

sf = sframe.SFrame('/path/to/dir/') 

데모 :

그래서 당신은 그들에게이 방법을로드 할 수 있습니다 필요한 경우 :

In [17]: df = sf.to_dataframe() 

In [18]: pd.options.display.max_colwidth = 40 

In [19]: df.head() 
Out[19]: 
             URI     name          text 
0 <http://dbpedia.org/resource/Digby_M...  Digby Morrell digby morrell born 10 october 1979 i... 
1 <http://dbpedia.org/resource/Alfred_...  Alfred J. Lewy alfred j lewy aka sandy lewy graduat... 
2 <http://dbpedia.org/resource/Harpdog...  Harpdog Brown harpdog brown is a singer and harmon... 
3 <http://dbpedia.org/resource/Franz_R... Franz Rottensteiner franz rottensteiner born in waidmann... 
4  <http://dbpedia.org/resource/G-Enka>    G-Enka henry krvits born 30 december 1974 i... 

In [20]: df.shape 
Out[20]: (59071, 3) 
+0

고맙습니다. @Ujjawal이 말했듯이, iPython 노트북을보아야했습니다. 그러나 그래프 랩은 무료가 아닙니다. 이 경우 어떻게해야합니까? –

+0

@chintans, 내가했던 것처럼 sframe ('pip install sframe')을 간단하게 설치할 수 있습니다 ... – MaxU

+0

감사합니다. @MaxU, 도움이되었습니다. –

2

답변에 대한 답변은 MaxU, 잘못된 방법으로 읽으려고합니다. 그것은 원시 파일이며 해당 형식은 동일한 폴더에있는 link에있는 다른 파일에 포함되어 있습니다. 팬더는 미리 파일의 인코딩 된 형식 (예 : 구분 기호, 열 수 등)을 알아야합니다. 그것을 인식하지 못하면 어떤 파일을 읽는 마술 지팡이로 사용할 수 없습니다.

link의 폴더 바깥에있는 IPython 노트북은 정확히 어떻게 데이터를 읽을 수 있는지 보여줍니다. MaxU은 문제의 특정 파일이 GraphLab 프레임 워크의 구조 인 SFrame의 일부라고 올바르게 언급했습니다. 따라서 전체의 일부분에서 의미있는 데이터를 추출하려고하므로 의미있는 데이터를 처리 할 수 ​​없습니다.

그러나 graphlab 파일을 읽고 팬더 데이터 프레임으로 변환 할 수 있습니다. 자세한 내용은 here을 참조하십시오.

+0

감사합니다. 나는 iPython 노트북을보아야했다. 그러나 그래프 랩은 무료가 아닙니다. 이 경우 어떻게해야합니까? –

+1

sframe은 GraphLab 구성 요소의 오픈 소스 구현을 제한합니다. 당신이 그것을 사용할 수 있습니다. MaxU가 그 예를 보여주었습니다. pframe install sframe으로 sframe을 설치할 수 있습니다. – Ujjwal

+0

감사합니다. @Ujjawal! –