판다스 8

2013년 부터 최근 데이터까지 시각화 하기 (seaborn)

데이터 분석 기초의 마지막 시간이다. 2013년 부터 최근 데이터까지 데이터프레임을 합쳐주어서 heatmap 으로 시각화 해보았으니, 오늘은 이제까지 배운 라이브러리 함수를 활용하여 시각화 해보자! 연도별 평당분양가격 시각화하기 seaborn 이 가장 사용하기 편하니 seaborn 을 사용해서 시각화 해보겠다. sns.barplot(data = df, x = "연도", y = "평당분양가격") -> df 는 2013~ 최근 데이터를 합친 데이터 프레임이다. 해석: 시간이 지날수록 평당분양가격은 상승 하고 있다. 2. pointplot plt.figure(figsize = (12,4)) # 그래프 크게 sns.pointplot(data = df, x = "연도", y = "평당분양가격", hue = "지역..

두가지의 다른 데이터 프레임을 하나로 합치고 시각화하기(concat, heatmap)

저번시간에는 melt 와 apply 함수를 사용하여 df_first 데이터를 df_last 데이터의 컬럼과 맞춰주었다. 이제 맞추어진 두 데이터를 합쳐야 분석하기에 용이할것이다. 나는 두개의 데이터 프레임을 concat 으로 합칠것이다. 그러기 위해서는 컬럼명이 일치한 두 데이터 프레임을 담은 변수가 필요하다. 컬럼이 일치하는 df_first 의 데이터 프레임을 df_first_preapare, df_last 의 데이터 프레임을 df_last_prepare 라고 설정해준다면, 1. 먼저 지정할 컬럼을 변수 cols 에 할당한다. cols = ['지역명', '연도', '월', '평당분양가격'] 2. loc 함수를 이용하여 df_last_prepare 변수에 데이터 프레임 넣기 3. copy 함수 이용하여 ..

데이터 전처리 기초 - melt, apply 함수 사용하기

저번시간까지 df_last 변수에 저장된, 2015년 이후 ~ 2019년 까지의 전국 신규 아파트 분양가격 동향의 데이터를 시각화 하고 분석하는 시간을 가졌었다. 이제는 df_first 의 데이터도 분석하는 시간을 갖게 될것이다. 우선, 우리는 2015년 이후와 이전의 데이터를 병합하며 비교를 할 것인데, 그렇다면 두 데이터를 비교하는 컬럼이 같아야 할 것이다. 간단히 말해서, 두 데이터가 비교되기 쉽게 일관성 있는 데이터의 형태로 전환하는 과정이 있어야 된다는 것이다. 어쩌면 이것이 데이터 전처리의 시작이라고 볼 수 있을 것이다. 데이터 전처리란? 데이터의 결측치 및 이상치를 확인하거나 제거하고 불일치되는 부분을 일관성 있는 데이터의 형태로 전환 하기도 하는 이 전 과정을 데이터 전처리 라고 말한다. ..

데이터 시각화(2)_상자그림

앞서, 선그래프 ,막대그래프 등을 활용하여 데이터 시각화를 진행 하였다. 이번에는 상자그림을 이용하여 데이터 시각화를 구현해보려고 한다. 상자그림 구현하는방법: [데이터].pivot_table(index ~ values ~).plot.box() 막대(bar) 와 마찬가지로 box()라고 작성해주면 상자그림으로 구현이 가능하다. index = '월', columns = '연도'로 평당분양가격으로 pivot_table 로 구하고 상자그림을 그리면, df_last.pivot_table(index = '월', columns = '연도', values = '평당분양가격').plot.box() 연도를 기준으로 평당분양가격에 대한 영향을 알 수 있고, index 를 월로 설정해주어서 상자그림의 폭도 알 수 있다. 상..

데이터 시각화 (plot(), sort_values())

데이터 시각화 하기 데이터 그룹화까지 배웠고, 이제는 그룹화 한것을 한눈에 보기 쉽게 그래프를 활용하여 시각해보자 시각화를 위해서는 그룹화에서 사용했던 groupby 나 pivot_table 을 변수로 설정하고, plot()을 활용하여 시각화 해보자. plot()은 pandas 라이브러리에서 활용되는 시각화인가보다. 우선, 데이터시각화를 위해 폰트를 설정해주어야 한다. import matplolib.pyplot as plt plt.rc("font", family = "Malgum Gothic") # 윈도우라서 맑은 고딕이다. 폰트를 설정해줬다면, 시각화를 위한 코드를 작성해도 오류가 나지 않는다. 폰트 설정 안해주면, 오류난다! 강의에서는 groupby 를 사용하였지만, 나는 pivot_table이 더 ..

데이터 그룹화 (groupby, pivot_table)

더보기 1. groupby를 통해 데이터를 그룹화 하기 df_last.groupby(["컬럼명"]).mean() : 해당컬럼의 평균을 보여준다. 위 그림에서는 컬럼을 지역명으로 사용해서, 지역들의 평균을 나타낸다. df_last.groupy(["A컬럼"])["B컬럼"].mean() : A컬럼을 인덱스로 사용하고, B컬럼의 평균 값을 계산한다. 인덱스로 설정할 컬럼이 한개가 아니라면, .groupby(["A컬럼","B컬럼"])["계산한 컬럼"].연산() 처럼 첫번째 소괄호 안에 인덱스로 설정할 컬럼들을 써주면 된다. 그림에서는, unstack() 함수를 사용해서 전용면적을 (열)컬럼으로 만들어 주었다. 데이터 그룹화 한것을 변수에 담았고, g.unstack() , g.unstack().transpose()..

데이터 요약, 가벼운 분석, 컬럼 변경 및 제거 (데이터 최적화)

분양가격 요약하기 요약하기 -> .describe() 수치데이터로 변경하기 전 컬럼인 분양가격(m^2)을 요약 수치데이터로 변경된 분양가격 컬럼 요약 count: 전체 데이터 갯수 unique: 중복되지 않은 값이 몇개가 있는지? top: 가장 빈번하게 등장하는 문자 freq: 가장 빈번하게 등장한 문자가 몇번 등장 했는지? mean: 평균값 std: 표준편차 min: 최소값 25%, 50%, 75% : 1,2,3 사분위수 max: 최대값 알 수 있는점 ? 전체 데이터 갯수(count)가 두 가지 표가 다르다는 것을 알 수 있는데, 데이터 수치로 표현한 표에서는 공백을 빼고 계산 했기 때문에 수치로 표현한 데이터의 count가 작다는 것을 알 수있다. 2221이 가장 많이 나왔고, 17번 나왔다. 50%..

데이터 타입 변경, 단위 맞추기(평당분양가격)

분양가격을 수치화하기 위해 데이터 타입을 변경해보자. 데이터를 비교하기 위해서는 단위가 같아야 하므로 단위를 맞춰보자. 결측치 = 값이 없는 것 = isnull() -> 값이 비어있는지? isnull() == True : 값이 비어있다. isnull() == False: 값이 있다. 1. numpy 불러오기 pandas 내부에는 numpy 라는 도구가 있는데, 이 numpy 는 파이썬에서 사용하는 계산기라고 생각하면 된다. pd.np.nan 을 사용하면 경고메세지가 뜨는데, import numpy as [원하는 변수] 로 직접 numpy를 불러오라는 에러메세지 이다. as 는 alias 의 약칭으로 앞으로, numpy를 [원하는 변수]로 부르겠다는 의미이다. 보통, numpy = np , pandas =..