Note

데이터 시각화 - Dual Axis, 파레토 차트 (2) 본문

Machine Learning/Data Visualization

데이터 시각화 - Dual Axis, 파레토 차트 (2)

알 수 없는 사용자 2021. 4. 30. 15:13
728x90

라이브러리 임포트

라이브러리 임포트와 데이터 파일을 불러온다.

18세 ~ 59세까지의 데이터만 불러와서 새로운 변수에 저장해준다. 프린트를 사용해 출력해보면 아래와 같은 사진으로 출력된다.

나이대별로 runner수가 얼마나 있는지 확인하기 위해 Age.value.counts()를 사용한 모습

그래프를 그리기 위해서는 x축과 y축이 필요하다.

x축에 Age를 나열하고 y축에는 값들을 나열한다.

x축을 나이로 나열하고 그에 해당하는 값을 그래프에 찍기 위해 숫자가 아닌 문자열 형태로 변환한 모습

y축에 값을 나열하고 비율그래프를 나타내기 위해서 ratio라는 새로운 변수를 만들어 준다.

비율로 바꾼 것을 누적데이터로 나타내어 최종적으로 100%를 만들어 주는 형식으로 바꾸어준 모습.

그래프를 그리기에 앞서 처음보는 enumerate함수를 사용하는데 이는 index를 같이 보고 싶을 때 사용한다.

두 개의 인자를 받아서 그래프 크기를 정해주고 그래프 변수로 나이와 참가자 수를 설정했다. 라인차트에서 twinx()라는 옵션은 ㅜ 개의 차트가 서로 다른 y 축이지만 공통적인 x축을 사용하게 해 준다. 그 이후 다양한 그래프 옵션을 설정해주고 차트를 출력하면 아래와 같은 그래프가 나타난다.

이 그래프는 참가수가 가장 많은 나이대부터 정렬을 했고 빨간 선은 누적도를 나타내 준다.

반대로, 참가자 수가 아닌 나이순으로 나타내 볼 수도 있다.

전체 데이터에서 원하는 나이대를 가져오고 valu.count()를 통해서 각각 나이대별로 카운트를 한다.

runner의 나이와 카운팅 한 데이터를 가지고 새로운 데이터 변수를 저장한다. 저장한 데이터를 가지고 sort기능을 사용하면 나이순으로 정렬할 수 있다.

 

그래프를 그리기 위해 x축과 y축을 지정을 해주는데 그래프에 들어가는 두 축은 똑같이 문자열 형태로 변경해주고 처음 그래프와 마찬가지로 y축 데이터는 누적 데이터로 변환까지 해준다.

처음 그래프와 마찬가지로 x축 y축 설정을 하고 레이블이나 주석에 대한 옵션을 설정해준다.

셀을 실행하면 이와 같은 모습으로 출력이 되고 먼저 실행했던 참가자 많은 순서대로 그린 그래프와는 다른 모습이다.

Comments