데이터를 통계적으로 가지고 있는것도 좋지만 데이터를 시각화하는것도 매우 중요하다. 데이터 시각화의 전형적인 사례로 앤스콤 4분할 그래프가 있다. 앤스콤 4분할 그래프는 영국 프랭크 앤스콤이 데이터를 수치적으로만 확인할 때 발생할 수 있는 함정을 보여주기 위해 만든 그래프이다. 그렇다면 여기서 '함정'이라는 것은 무엇일까? 우선 앤스콤 4분할 그래프는 다음과 같이 생겼다.
데이터 그룹 I,II,III,IV가 있고 x,y열을 가지고 있다. 이 그래프에서 각 데이터 그룹을 해석해 보면 각각의 평균, 분산등의 수치값과 회귀선이 동일하다. 결론적으로 수치상으로만 보면 데이터그룹 I,II,III,IV는 모두 동일하다라는 결론이 나온다. 이 점이 바로 앤스콤이 말한 함정이라는 것이다. 데이터 그룹을 시각화 하면 데이터 그룹의 패턴이 서로 다르다는 것이 한눈에 보인다. 그러면 직접 위의 앤스콤 데이터셋을 통해 시각화를 해보자.
앤스콤 데이터는 seaborn이라는 라이브러리에 내장되어있다. 우선 seaborn라이브러리를 호출하고 load_dataset메소드를 이용해서 데이터 셋을 불러오자.
데이터를 시각화해 주어야 되므로 matplotlib라이브러리도 호출해주고 그와 동시에 그래프를 그려주기 위한 매직함수까지 작성해 주자. 그 다음 dat 혹은 자신이 anscombe데이터셋을 저장한 변수의 값을 출력해 데이터의 구조를 살펴보자.
그 다음 type()메소드로 보면 데이터셋이 데이터 프레임 형태로 저장된것을 볼 수 있다.
만약 내가 'dataset'열의 값이 'I'인 값만 우선 추출해서 보고싶다고 하자. 그러면 다음과 같이 작성해 주면 된다.
해당 코드를 해석해 보면 dat라는 데이터 셋에서(외각 dat[]) 'dataset'열의 값이 'I'인 값들을 저장하겠다(내부 dat['dataset'] == 1)라고 해석하면 된다. 그 다음에는 .plot()메소드를 이용해서그래프를 그려보자. plot()메소드의 매개변수로는 표현할 값의 정보가 들어간다. 위에서 사용하는 앤스콤 데이터를 기준으로 해서x,y에 대한 값을 출력한다고 예시를 들어보자. 여기서도 동일하게 dat1이라는 'dataset'의 값이 'I'인 데이터 프레임중 x, y의 값이므로 매개변수를 넣을때 dat1['x'], dat1['y'] 식으로 넣어주어야 한다.
plot()메소드의 출력 그래프의 형태는 기본적으로 선으로 되어있다. 만약 자신이 점으로 된 그래프를 보고싶다 하면 세번째 매개변수에 'o'라는 값을 넣어주면 된다.
'DataAnalysis > Python Pandas' 카테고리의 다른 글
데이터 시각화 : Matplotlb 라이브러리 폭넓게 활용해보기 (0) | 2019.03.10 |
---|---|
판다스 데이터 시각화 - 그래프 그리기, matplotlib : 2 (0) | 2019.03.09 |
그래프 그리기 (0) | 2019.03.07 |
기초 통계 계산 with Pandas (0) | 2019.02.26 |
loc, iloc 활용해 보기 (0) | 2019.02.25 |