티스토리 뷰

주피터 노트북에서 pymssql로 데이터베이스와 연결하여 LSTM을 사용하는 코드를 작성하던 중,

다음과 같은 에러가 발생했다.

 ValueError: expected a simple type, a tuple or a list

 

에러가 발생한 코드는 cursor.execute("p_sa_resultdata_lstm_insert %s, %s, %d", data_list) 이 부분이었다.

data_list = [('1', '2019-10-11', 0.046631027)] 였는데, 튜플의 마지막 값이 numpy.ndarray타입 배열로부터 가져왔기 때문에 float타입이 아니라 numpy.float32타입이었다.

위 코드를 실행했을 때, 기본형인 float형이 아니라 numpy.float형이기 때문에 오류가 발생하는 것이었다.

이를 해결하기 위해 numpy.float32타입의 변수를 var라 하면 var.item()으로 기본형으로 변경하여 저장해주었더니 오류없이 잘 실행되었다.

 

이 오류가 발생한다면, 데이터들이 모두 기본형이 맞는지 확실히 확인해봐야 할 것 같다.

 

 

반응형

댓글