데이터로 어떤 분석을 하고 싶나요
4주차에서는 본격적으로 데이터를 분석했다. 몇 가지 명령어와 함수를 익히고 나니 (외우지는 못했지만) 아무리 엑셀이 인터페이스를 갖추고 있어도, 원하는 분석 결과를 도출하는 데는 파이썬이 더 편하겠구나 하는 생각이 든다. 지금까지 배운 건 데이터 분석의 아주 초입일 테지만 그래도 기초가 중요한 법. 오늘은 필수적으로 필요한 함수를 몇 가지 정리해두려고 한다.
1. 일단 데이터가 어떻게 생겼는지를 보고 필요한 전처리를 한다.
1) 라이브러리를 불러오고, matplotlib에서 한글 폰트까 깨지지 않도록 하는 코드를 적용한다.
* 3주차까지와 다르게 4주차 강사님은 seaborn은 사용하지 않으셨지만, 개인적으로는 seaborn이 더 보기 좋게 나오는 듯해서 일단 5주차를 다 마친 뒤 다시 볼 예정.
2) 데이터 파일을 불러온다.
*head를 확인한 후에 만일 첫 번째 행을 삭제하고 싶다면 'skiprows=[0]'를 csv가 세미콜론으로 구분되어 있다면 'sep=';''을 추가한다. 주피터노트북에서는 shift+tab을 눌러서 각 함수의 다른 요소들을 확인할 수 있다.
3) 전반적인 정보 / 열, 행 이름 / 컬럼별 구성요소 / 결측치가 있는지 확인한다.
4) 반올림, 데이터 개수 등 필요한 데이터 전처리를 한다.
*숫자일 경우 반올림하거나 소수점을 제거하는 함수가 필요할 수 있고, 문자일 경우 그대로 시각화 하기 보다는 각 고유값 개수와 고유값 빈도가 필요한 경우가 많다. 둘다 필요할 수도 있고!
*엑셀을 사용할 때와 마찬가지로 데이터 전처리는 정확한 데이터 분석을 위해 정말 중요한 일 중 하나다. 데이터가 늘 잘 정리되어 있는 것은 아니어서 사용할 만큼 처리하려면 해야 할 게 훨씬 많을 듯. 예제는 비교적 깔끔한 데이터로 하고 있어서 필요성이 크게 와닿지 않지만 별도의 강의로 주셨을 만큼 소화해야 할 내용이 많지 않을까 싶다.
2.데이터 분석을 통해 무엇을 알아내고 싶은지 결정한다.
4주차에 배운 건 크게 기본 데이터프레임을 시각화로 표현하기, 중점관리 키워드 추출하기, 그룹을 만들어가설검증하기, 피봇 테이블로 가설검증하기 이렇게 네 가지였다. 예시를 가지고 코딩했기 때문에 그걸 정리하기 보다는, 어떤 과정이 필요한지를 정리하려고 한다.
1) 기본 데이터프레임 시각화로 표현하기
어떤 열 혹은 행을 시각화 할 것인지 정한다 -> 해당 데이터를 오름차순 혹은 내림차순으로 정리한다. (보기 좋게 하기 위해!) *스트링 데이터의 경우 데이터 개수를 센다 -> 오름차순으로 정리하면서 기본 인덱스가 섞였을 테니, 새로 인덱스를 재배정 한다 -> 기존 인덱스 열은 삭제한다 -> 시각화한다
2) 중점관리 키워드 추출하기
키워드를 추출하고 싶다면 데이터프레임의 인덱스를 키워드로 변경한다 -> 새로운 변수에 분석하려는 열을 할당한다 -> quantile함수를 이용하여 원하는 분위수를 뽑아낸다 (조건이 여러가지라면 & 이용)
3) 그룹을 만들어 가설검증하기
가설검증한 트리에 따라 차근차근 그룹을 묶어 나간다 -> 시리즈 기준 산술연산자로 원하는 연산을 진행한다 -> concat으로 데이터 프레임으로 결합해준다. 필요에 따라 시리즈명을 할당한다
4) 피봇 테이블로 가설검증하기
피봇 테이블 함수로 원하는 열과 행을 추출하고 원하는 연산자도 입력해준다. 여러가지일 경우 리스트로 묶는다 *피봇은 여러번 쪼개지다 보니 결측치(Nan)가 나올 수 있다 원하는 처리방식을 포함시켜준다 -> 피봇 내에서 원하는 연산을 진행하고 새로운 인덱스로 할당해준다
4주차에 배운 걸 정리하면 이 정도 되는 것 같다. 익숙하지는 않지만 대략 이런 과정을 거치는구나 정도는 알게 된 것 같다. 5주차가 지난 뒤에 기초언어와 라이브러리 함수 등을 정리하다 보면 파이썬을 어떤 방식으로 사용하고 싶은지가 좀 더 분명해지겠지. 한 주 남았다! :)
#패스트캠퍼스 #내일배움카드 #K디지털크레딧 #바이트디그리 #데이터분석인강