2017-10-09 1 views
1

안녕하세요, 저는 train.dat과 같은 데이터를 가지고 있습니다. (-1, 또는 1)을 포함하는 열의 [iith] 값과 문자열이있는 열의 값을 포함하는 다른 변수를 포함 할 varible을 만들려고합니다. 출력이 모두 뒤죽박죽 보이는 그러나 지금까지 나는이 시도했다팬더에서 다른 변수로 데이터를 구분하는 방법

,

df=pd.read_csv("train.dat",delimiter="\t", sep=',') 
# print(df.head()) 


# separate names from classes 
vals = df.ix[:,:].values 
names = [n[0][3:] for n in vals] 
cls = [n[0][0:] for n in vals] 
print(cls) 

는, 어떤 도움을 주시면 감사하겠습니다. 수치 후 문자가 탭 경우 나, 파이썬

+0

데이터 샘플을 이미지가 아닌 텍스트로 게시하십시오. –

답변

1

에서 begineer입니다 당신은 괜찮아요 당신이 필요로하는 모든이

  • import io # using io.StringIO for demonstration 
    import pandas as pd 
    
    ratings = "-1\tThis movie really sucks.\n-1\tRun colored water through 
    a reflux condenser and call it a science movie?\n+1\tJust another zombie flick? You'll be surprised!" 
    
    df = pd.read_csv(io.StringIO(ratings), sep='\t', 
           header=None, names=['change', 'rating']) 
    
    header=None가 첫 번째 줄이 있는지 확인합니다 통과 데이터로 해석됩니다.
  • names=['change', 'rating']을 전달하면 일부 (합리적인) 열 머리글이 제공됩니다.

물론 문자는 탭이 아닙니다. D.

import io # using io.string 
import pandas as pd 

ratings = "-1 This movie really sucks.\n-1 Run colored water through a 
reflux condenser and call it a science movie?\n+1 Just another zombie 
flick? You'll be surprised!" 

df = pd.read_csv(io.StringIO(ratings), sep='\t', 
       header=None, names=['stuff']) 

df['change'], df['rating'] = df.stuff.str[:3], df.stuff.str[3:] 
df.drop('stuff', axis=1) 

하나의 가능한 옵션은, 하나의 일시적 열로 전체 평가에서 읽은 문자열을 분할, 두 개의 열에게 배포 결국 임시 열을 삭제하는 것입니다.

관련 문제