2016-07-26 5 views
0

NBA의 데이터로 작업하고 싶습니다. 그래서 비교를해야합니다. 나는 집에이기는 비율을 얻을 필요가있다. 그러나 그것은 문자열을 int로 변환 할 수 없습니다.Python을 사용하여 CSV 데이터 파일 조작

results["HomeWin"]=int(results["Home Team"])<int(results["OT?"]) 
y_true=results["HomeWin"].values 
print("Home win percentage is{0:.1f}%".format(100*results["HomeWin"].sum()/results["HomeWin"].count())) 

오류는 다음과 같습니다 시리즈를 변환 할 수 없습니다 'INT'

+1

사용'을 astype (int)':'results [ "HomeWin"] = 결과 [ "홈 팀"] astype (int) EdChum

답변

1

당신은 intSeries.astypestring 번호에 의해 캐스팅 필요 입력 :

results["HomeWin"] = results["Home Team"].astype(int) < results["OT?"].astype(int) 

샘플 :

import pandas as pd 

results = pd.DataFrame({'Home Team':['1','2','3'], 
        'OT?':['4','2','1']}) 

print (results) 
    Home Team OT? 
0   1 4 
1   2 2 
2   3 1 


results["HomeWin"] = results["Home Team"].astype(int) < results["OT?"].astype(int) 
print (results) 
    Home Team OT? HomeWin 
0   1 4  True 
1   2 2  False 
2   3 1  False 
+0

기수 10 인 long()에 대해 유효하지 않은 리터럴 인 'November' –

+0

변환 할 수없는 '11 월'과 같은 열에 문자열 데이터가있는 문제가 있습니다. 번호로. 이 문제가있는 값은'print (results.ix [pdf]) (pdf []], errors = 'coerce') isnull() | pd.to_numeric (results [ "OT?"], errors – jezrael

+0

'results = pd.DataFrame ({ 'Home Team': [ '1', '2')에 의해 검사 할 수 있습니다. ','3 ','11 월 '], 'OT? ': ['4 ','9 월 ','1 ','5 ']})' – jezrael

관련 문제