Python/시각화

seaborn x의 정렬이 안될 때 - YYYYMMDD의 dtype

PSAwesome 2021. 1. 3. 16:28
반응형

안녕하세요. 

 

pandas에서 정렬해서 seaborn에 입력했는데 `정렬이 잘못 적용되고 있다`

 

이번 글은 python pandas의 int64 타입seaborn.barplot과 관련된 글입니다.

 

 

 

데이터 타입(Dtype)을 인지하자

 

언급되는 기술

  • pandas
  • seaborn.barplot

 

데이터엔 무엇이 있는지 EDA를 진행하던 중에 겪은 내용입니다.

 

결론은

원시 데이터를 전처리 후 저장하고, 저장한 데이터를 다시 호출하는 과정에서 발생하는 형변환입니다.

 

처음 데이터를 가공했을 때 object 타입이었으나, 저장과 호출을 반복하는 과정에서

int64타입으로 바뀌는 현상

일자(YYYYMMDD) 데이터 형태
Object type
int64 type

 

숫자 형태의 값만 있을 경우 csv 파일로 저장 및 불러오기에서 int로 변환된다.

 

seaborn에서 정렬

barplot 함수를 사용할 때 x축의 값이 int일 경우 seaborn 자체적으로 값을 정렬하는 증상입니다.

 

시각화 데이터

각 일별 금융편의에 발신한 건수의 개수

 

ex) 일자(YYYYMMDD) 기준으로 group하여 발신 개수를 시각화 하고 싶었습니다.

 

 

해당 데이터를 시각화 했을 때 결과

 

왼쪽부터 아래로 경사가 생겨야 하는데 실제 조회한 데이터를 보아도 너무 이상한 결과였습니다.

 

타입 변환 후 시각화 모양

 

일자라는 x축을 string 형태로 추가하여 시각화

 

실제 DataFrame은 내림차순으로 정렬이 되고 있었는데,

seaborn에서 x축을 자체 정렬하는 증상을 확인하였습니다.

 

dtype을 인지하는 것이 시간 단축에 얼마나 중요한가 다시 한번 깨닫는 시간이었네요.

 

감사합니다!

 

 

반응형