데이터프레임 변경(2): 결측치 처리 / 가변수(Dummy Variable) 생성
·
데이터 분석/Pandas 기초
1. 결측치 처리(전처리 작업): 누락 데이터와 중복 데이터의 처리정확한 데이터 분석을 위해서는 정확한 데이터가 준비되어야 할 필요가 있다. 이를 위해 누락된 데이터나 중복 데이터를 제거해주는 전처리 작업이 요구된다. 결측치를 NaN 값이라고 보통 부르는데, 이러한 결측치는 정확한 분석을 하는 데 방해를 줄 수 있다. 아래와 같이 값이 끊기거나, NaN 값을 만나면 오류가 발생하는 함수도 있기 때문에 이는 반드시 어떤 방식으로든 처리해주는 것이 필요하다. 결측치를 처리하는 방법은 두 가지로, 제거하거나 다른 값(EX. 평균값, 최빈값 등)으로 채우는 방법이 있다. 1) 결측치 찾기: info(), isnull(), notnull(), sum()결측치 처리에 앞서 해야 할 일은, 결측치의 존재 여부를 확인..
데이터프레임 변경(1): 열(이름변경, 추가, 삭제) / 범주값(변경, 생성)
·
데이터 분석/Pandas 기초
1. 열 이름 변경1) 일부 열 이름 변경: rename()전체 열 중에 1, 2개를 바꾼다면 이 방법을 사용하는 것이 좋다. 그러나 전체 열 이름 바꿀 경우 비효율적# rename() 함수로 열 이름 변경 # 여러 개를 바꾸니 딕셔너리를 쓰면 좋겠다. tip.rename(columns={'total_bill_amount': 'total_bill', 'male_female': 'sex', 'smoke_yes_no': 'smoker', 'dinner_lunch': 'time'}, inplace=True) 2) 모든 열 이름 변경: columns 속성전체 열 이름 바꿀 경우 그냥 덮어씌워주면 된다. # 모든..
[KT 에이블스쿨 DX 6기] 1차 미니 프로젝트(feat. 1일차, 온라인)
·
AIBLE SCHOOL 6기_DX 컨설턴트 과정/본 학습
미니 프로젝트 전오늘은 대망의 미니 프로젝트 1일차!미니 프로젝트는 2일 간 진행이 되는데, 오프라인으로 우리반 에이블러분들을 만날 수 있는 공식적인 기회이다. 추석 연휴가 시작되기 전에 미니 프로젝트 조 편성이 나와서, 기대되는 마음으로 오픈채팅을 개설해서 우리 조 에이블러 분들을 초대했다. 왜 미리 초대해야 했느냐... 우리 조원들이 궁금한 마음도 있지만, 제일 중요한 것은 바로 교육장 예약 때문이다. 교육장은 수도권의 경우 영등포구쪽에 있는 전농 교육장과 분당에 있는 KT 본사교육장 두 곳이 있다. 매니저님 말씀을 들어보니 오프라인으로 교육장을 예약하는 경우, 각 조별로 협의해서 서로 가까운 교육장을 미리 예약해야 한다고 했다.  우리는 투표를 해보니 거의 반반이긴 했는데, 한 분이 본사에서 3시간..
[KT 에이블스쿨 DX 6기] 1차 미니 프로젝트(feat. 2일차, 전농교육장)
·
AIBLE SCHOOL 6기_DX 컨설턴트 과정/본 학습
전농교육장 후기2일차는 전농교육장.. 오프라인이다! 매일 방에 앉아서만 움직이지 않고 강의를 듣다보니까 좀이 쑤셨는데, 오랜만에 이 시간대에 밖에 나와있는 것이 신선했다. 나의 경우는 전농교육장과 본사가 크게 거리 차이가 나지 않아서 어느 쪽이든 상관없었지만, 더 멀리 있으신 분들은 나보다 일찍 일어나서 준비하셨어야 했다고 생각하니까 조금 아찔해졌다.룸메가 직장인인데 출근길이 겹쳐서 룸메와 함께 출근체험을 하게 되었는데, 엄청난 사람들에 끼고, 생각보다 버스 배차시간 등 예상 시간보다 더 오래 걸려서 제 시간에 도착할 수 있을까 걱정도 되었다. 전농교육장 꿀팁전농 교육장의 경우, 9시에 연다. 그래서 9시 이전에 도착해도 들어갈 수가 없다.. 따라서 9시 전후로 잘 맞춰가야하는데, 계단 4층을 엘리베이터..
[KT 에이블스쿨 DX 6기] 1~3주차까지의 회고
·
AIBLE SCHOOL 6기_DX 컨설턴트 과정/본 학습
1주차: 데이터 다루기화요일 입교식이 끝나고, 드디어 KT 에이블 스쿨에서의 첫 주가 끝났다. 데이터를 다루는 기초적이고도 기본적인 과정을 다뤘는데, 이전에 알고 있는 내용이라고 생각했던 부분들이 새삼 새로웠다. 강사님의 말씀을 들으며 그동안 놓쳤던 부분들이 상당했구나, 하는 생각도 들었다. 이렇게 여유롭게 기초와 기본기, 그리고 이것들을 실전에 어떻게 활용하는지까지 이어지는 맥락 있는 교육을 듣다보니 그동안 급하게 채워왔던 실력을 다시 보수 작업하는 기분이어서 더욱 욕심도 났다.   에이블 스쿨에 들어오게 된 동기 자체도, 그동안 공모전을 다수 참여하면서도 내가 과연 이것을 제대로 잘 알고 분석하는걸까, 하는 비전공자로서의 불안감 때문이었는데 첫 주차를 진행하는 동안 점차 해소되어가는 것을 느꼈다. 지..
데이터프레임 생성, 탐색, 조회, 집계
·
데이터 분석/Pandas 기초
데이터프레임 생성우리의 목표는 데이터를 최대한 예쁘게 만드는 것이고, 그게 우리가 해야 할 작업이다. 이는 데이터 분석 작업에서 60% 정도를 차지할 정도로 중요하고, 또 많이 익숙해져야 하는 부분이다. '이거 해주세요' 하면 '네'하고 바로 할 수 있을 만큼. 의사가 수술할 때 어리버리 떨지 않는다. 그만큼 익숙해져야 한다. 뭘 해야할 지를 알고, 착착 수술해나가는 것이다.  데이터프레임이란?Pandas 사용 목적은 데이터프레임을 사용하기 위한 목적이다. 왜냐? 데이터를 처리, 조회, 분석하는 가장 효율적인 방법이 데이터프레임을 사용하는 것이다. 직접 만들 수도 있지만, 보통은 csv 파일, 엑셀 파일, 또는 DB에서 읽어온다.  데이터프레임 직접 만들기pd.DataFrame() 함수를 사용해 데이터프..
넘파이 배열의 기본 개념
·
데이터 분석/Pandas 기초
Numpy 배열의 기본 개념 이해# 리스트a = [1, 2, 3, 4, 5, 6, 7, 8, 9]# 2 곱하기?a = a * 2 # 각각의 요소에 2가 곱해지나 아니면 반복이 되나? 반복이 된다고 했다! # 확인print(a) # 요소에 2를 곱할 수가 없다. 안타깝지만 이게 리스트의 특징이다. 컴프리헨션을 쓰든지 해야 한다.리스트가 가지는 한계이다. for 문을 하든지, list comprehension을 해야 한다. 할 수는 있는데 많이 귀찮아진다...이 상황에서 우리가 배열을 쓴다면?# 배열a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) # ap는 이제 리스트가 아니고, 배열이다. # 확인print(a) # [1 2 3 4 5 6 7 8 9]# 2 곱하기a = a * 2#..
제어문(Control Statements)을 알아보자.
·
데이터 분석/파이썬 기초
제어문(Control Statements)조건 처리(if문)나 반복 처리(for문, while문)를 통해 코드의 실행 흐름을 제어하기 때문에 제어문이라고 부른다. 조이스틱으로 왼쪽으로 가라, 오른쪽으로 가라, 이렇게 하는 것과 비슷한 것으로 생각하자.  if 문가장 대표적인 제어문이 if문이다. 특정 조건에 맞는 경우에만 코드를 실행하고 싶을 때 사용하게 된다. 콜론(:)과 들여쓰기는 필수라는 점을 기억하자!  1. 단순 if문조건이 참인 경우만 처리한다. 조건이 거짓인 경우는 아무 처리도 하지 않는다. 그렇기에 else:를 따로 써주지 않아도 괜찮다!2. if ~ else문조언이 참인 경우와 참이 아닌 경우 각각 처리한다. 만약 if ~ else문을 단순 if문으로 나타내려면 다음과 같이 할 수 있다...
변하는 것과 변하지 않는 것
·
데이터 분석/파이썬 기초
변경 가능한 것: 딕셔너리, 데이터프레임, 리스트변경 불가능한 것: 튜플, 숫자, 문자형  리스트는 안에 요소를 정의하면, 순서가 쉽게 안 변한다. 그 순서가 절대 바뀌지 않기 때문에 인덱싱이 가능하다. 순서가 바뀌지 않기 때문에 일관성 있게 인덱싱, 슬라이싱을 할 수 있는 것이다. 그리고 인덱싱 혹은 슬라이싱 결과에 대하여 요소를 변경하거나 삭제할 수 있다. 변경 가능한 자료형이기에 중간에 삽입을 할 수도, 값을 변경할 수도 있는 것이다. append(), insert(): 리스트에 요소를 추가# 리스트는 변경 가능한 자료형l = [1, 2, 3, 4, 5, 6, 7, 8, 9]l[0] = 100print(l) # 변경됨 # [100, 2, 3, 4, 5, 6, 7, 8, 9] 튜플은 인덱싱 슬라이싱이..
리스트, 튜플, 집합, 딕셔너리에 대해서 알아보자.
·
데이터 분석/파이썬 기초
리스트(List) 자료형문자열이 문자를 묶어서 갖는 자료형이었다면, 리스트는 여러 값을 묶어서 갖는 컨테이너 자료형 중에 하나다. 대괄호 안에 콤마(,)로 값이 나열되며, 이 값들은 '요소'라고 불린다. 이 세상의 온갖 데이터(숫자, 문자, 파일, 이미지 등)가 리스트의 요소가 될 수 있고, 리스트조차 리스트의 요소가 될 수 있다. Python에서 제일 많이 사용되는 자료형이니 잘 알아두자.  컨테이너 자료형Python은 여러 값을 묶어서 가질 수 있는 컨테이너 자료형을 제공하며, 문자열(String), 리스트(List), 튜플(Tuple), 집합(Set), 딕셔너리(Dictionary) 등이 포함된다. 여러 값을 묶기 위해 문자열을 제외하고 괄호가 필요한데, 어떤 괄호를 사용하는가에 따라 자료형이 결정..
문자열 자료형에 대해 이해해보자.
·
데이터 분석/파이썬 기초
1. 문자열 사용2. 문자열 연산3. format 메서드 사용4. 문자열 인덱싱과 슬라이싱 1. 문자열 사용 1) 문자열의 나열문자열을 콤마(,) 없이 나란히 나열하면 합쳐진 결과를 얻으며, 문자열을 콤마(,)로 구분하여 나열하면 튜플(Tuple)이 된다. 더보기# 콤마 없이 나열s = 'hello' 'world'# 확인print(s) # 공백이 의미가 없어진다. # helloworld# 콤마로 구분해 나열s = 'hello', 'world' # s = ('hello', 'world')와 동일하다# 확인print(s) # ('hello', 'world')2) 여러 줄 문자열 표현\n을 사용하거나 문자열 앞뒤에 따옴표 세 개를 나열하여 여러 줄 표현이 가능하다. print() 함수를 사용해야 의도한 내용이..
값이 같다? 존재가 같다?
·
데이터 분석/파이썬 기초
==가 갖고 있는 값이 같다는 의미라면, is는 존재가 같냐는 것이다.  리스트# 같은 요소를 갖는 리스트 선언x = [1, 2, 3, 4, 5]y = [1, 2, 3, 4, 5]z = x# 변수 값 확인print('x =', x) # x = [1, 2, 3, 4, 5]print('y =', y) # y = [1, 2, 3, 4, 5]print('z =', z) # z = [1, 2, 3, 4, 5]x, y, z 변수를 가진 세 리스트에 대해서, 세 변수가 갖고 있는 값은 같다. # 값이 같은가?print(x == y) # Trueprint(x == z) # True둘다 True이므로, 같은 값을 가지고 있다. # 같은 객체인가? 존재가 같나?print(x is y) # Falseprint(x is z)..