본문 바로가기

Programing Language/Python

json data 저장시 numpy array 저장하는 법

반응형

json 형태로 데이터를 저장할 때, pandas를 사용해서 이런저런 통계처리를 해서 저장하곤 한다.

이럴 때 pandas의 dataframe은  numpy의 array 기반으로 데이터를 처리한다.

이 때문에 json.dump로 저장 할 때 다음과 같은 에러메시지와 마주한다.


NumPy array is not JSON serializable

이 때 serializable하지 못하다는게 numpy array를 지원하지 않기 때문에 얘들을 .tolist()나 int()와 같은 것을 이용해서 바꿀 수도 있다.(출처의 답변1)
하지만 json의 형태가 너무 복잡한 경우 이러한 처리가 귀찮다.
이러할 때는 출처의 답변2를 참고하여 Encoder을 json.dump와 같이 사용하면 좀 더 수월하게 json형태로 저장할 수 있다.

앞으론 기억하자.

json은 numpy array와 혼용되지 않는다.


출처 : https://stackoverflow.com/questions/26646362/numpy-array-is-not-json-serializable

반응형