2016-10-30 4 views
1

CSV 파일을 읽고 모든 값이 정수로 변환되는 것을 제외하고는 모든 값이 문자열이기 때문에 모든 것이 작동합니다. 이 같은 루프에 열이 많다는 변환하려고 :Python Numpy가 CSV 파일에서 문자열을 정수로 변환 할 수 없습니다.

counter = 0 
while counter < len(data): 
    try: 
     data[counter,0] = data[counter,0].astype(int) # ID 
     data[counter,1] = data[counter,1].astype(int) # Survived 
    except ValueError: 
     pass 
    counter = counter + 1 

당신이 내가 작업을 시도 거대한 데이터 세트입니다 볼 수 있듯이.

print (type(data[0,0]))

그리고 값의 유형을 인쇄

어떻게 제대로 정수로 열을 변환합니까 나에게 <class 'numpy.str_'>

을 준다? 미리 감사드립니다!

data = pandas.read_csv("filename.csv") 

답변

1

문제는 당신이 data의 DTYPE를 변경하지 않고 한 번에 한 항목을 변경하려는 :

0

좋아 나는 pandas는 다음 코드를 사용하여 자동으로 모든 데이터 유형으로 변환되는 것을 발견했다. data.dtypendarray의 유형을 알려주며 한 번에 하나의 셀을 변경할 수 없습니다. 전체 ndarray에는 단일 유형이 있습니다. 대신 다음을 시도하십시오 : data = data.astype(int). 그러면 모든 행과 모든 열이 한 번에 정수로 변환됩니다.

관련 문제