2016-09-21 5 views
3

팬더 데이터 프레임으로 작업 중이며 정수 (float) (1)로 여러 열 (아래 예제에서는 x & y)이 필요합니다. 새로운 행을 플로트로 할당하면 전체 데이터 프레임이 플로트로 재 작성됩니다. 왜 이런가요, 어떻게 방지합니까?팬다 데이터 프레임 자동 타입 변환

data = pd.DataFrame(data=[[3103, 1189, 1]],index = None, columns = ['y', 'x', 'l'], dtype = int) 
print data.y 
data.ix[1] = (3, 3, 3.4) 
print data.y 

생산 어떤 : 당신이 많이 추가해야하는 경우

data['y'] = data['y'].astype(int) 

아니 가장 효율적인 솔루션을 :

0 3103 
Name: y, dtype: int32 
0 3103 
1  3 
Name: y, dtype: float64 
+0

여기에서 답변을 찾을 수 있습니다. http://stackoverflow.com/questions/22044766/adding-row-to-pandas-dataframe-changes-dtype – IanS

+0

@IanS가 연결된 것이 더 효율적입니다. 내 대답을 무시하십시오. 해결책. – sage88

답변

1

당신이 사용하는 각 추가 후에 다른 모든 열을 개주 수 있습니다 즉시 비행 열. 또는 Series를 사용하여 전체 데이터 프레임을 미리 생성하고 전체 옵션을 생성 시간 대신 입력 할 수 있습니다.