본문 바로가기

전체 글

(56)
엑셀 기초 - Vlookup함수 테이블 작성 방법 Vlookup함수 테이블 작성 방법 vlookup함수를 이용해 평균 범위별로 레벨을 매기는 작업을 수행하겠다. 그러기 위해서 먼저 아래와 같이 표를 하나 작성해야 한다. 0점~59점은 F, 60~69점은 D, 70~79점은 C, 80~89점은 B, 90점 이상은 A를 부여한다고 했을 때, 각 레벨마다 최저점을 입력해주고 그 옆에 레벨을 입력한다. 예를 들어 D의 최저점은 60점이므로 60을 입력 후 옆에 D를 입력해준다. 표를 완성하면 아래와 같이 된다. 그럼 이제 Vlookup함수를 이용해서 레벨을 구해주겠다. 아래와 같이 vlookup()입력 후 fx모양의 함수마법사를 켠다. 그럼 아래와 같이 창이 뜬다. 먼저 Lookup_value에는 해당 조건인 평균 셀을 클릭한다. 여기서는 H3이 되겠다. 그리..
엑셀 기초 - Vlookup함수와 Hlookup함수 Vlookup함수와 Hlookup함수 다음 데이터에서 단가표를 참고해 왼쪽 표를 채워넣으려 한다. 이때 중간에 있는 단가표를 참고하려면 Vlookup함수를, 오른쪽에 있는 단가표를 참고하려면 Hlookup함수를 사용해서 왼쪽 표를 채울 수 있다. 먼저 Vlookup함수부터 배워보자. 아래와 같이 입력한다. 그리고 fx 아이콘 모양의 함수마법사를 켠다. 그럼 다음과 같은 창이 뜬다. 먼저 Lookup_value는 찾아주려는 품명을 뜻하므로 여기서는 포스트잇이 되겠다. 따라서 포스트잇 셀을 클릭해준다. 다음 Table_array는 단가표의 품명과 단가를 블록으로 잡아준다. Col_index_num은 찾아주려는 값(단가)를 뜻하므로 단가 부분을 넣어야 한다. 컬럼의 인덱스 넘버를 넣어야 하는데 왼쪽부터 첫 번..
파이썬 실습 - 결측치(null) 처리하기 결측치 처리하기 먼저 info()를 찍어 각 컬럼의 상태에 대해 확인한다. row는 총 99441개 있는 걸 확인할 수 있다. 다음 null값이 있는지 확인해본다. 데이터.isnull().sum()을 찍어보면 컬럼별로 null값이 얼마나 있는지 확인할 수 있다. . null값이 있는 세 컬럼의 null값 총합을 더하면 4908개, 즉 모든 컬럼의 null값이 4908개 있다는 것이다. null값이 있는 행들을 모아주겠다. 이때 any 옵션을 주어서 컬럼 중 하나라도 null값이 있을 경우 선택이 되도록 하였다. 총 2980개의 row가 선택되었다. dropna를 사용해서 null값이 존재하는 행들을 제거해준다. 이때 행을 제거해주는 거기 때문에 옵션을 axis=0 으로 준다. 그리고 인덱싱을 재지정한다...
파이썬 실습 - 이상치(Outliers) 제거하기 이상치 제거하기 먼저 이상치를 제거해줄 데이터에 대해 박스플롯을 찍어 봅니다. 저는 총 세 개의 데이터에 대해 이상치 제거를 해줄 것이므로 박스플롯을 세 번 찍어 주겠습니다. 여기서는 seaborn의 boxplot을 사용해 주었습니다. 컬러는 레드를 넣었습니다. 빨간색 박스가 아래 배치되어 있고 그 위로 수 많은 마름모 모양의 이상치들이 존재하는 걸 확인할 수 있습니다. 두 번째 데이터에 대해 박스플롯을 찍어봅니다. 이번에 박스 컬러를 옐로우로 넣었습니다. 역시 노란색 박스 위로 이상치들이 무수히 많이 존재하는 걸 확인할 수 있습니다. 마지막 데이터도 박스플롯을 찍어봅니다. 이번엔 컬러를 그린으로 주었습니다. 위, 아래로 이상치들이 존재하는 걸 확인할 수 있습니다. 다음 이상치를 제거할 함수를 하나 만들..
파이썬 실습 - '민간 아파트 가격동향' 데이터 전처리 데이터 전처리 실습 데이터는 공공데이터 사이트에서 제공하는 '민간 아파트 가격동향' 파일을 사용했다. 먼저 pandas를 불러온 후 파일을 업로드한다. 컬럼의 이름을 다음과 같이 바꿔보자 주의할 점은, columns 다음은 바뀌기 전과 바꾸고 난 후의 컬럼들을 사전 형태로 입력해야 한다는 것이다. 다음, 컬럼들이 null값을 가지고 있는지, 데이터 타입은 무엇인지 info를 찍어 확인해본다. 다음 통계값을 확인하기 위해 describe를 찍어본다. 분양가격의 데이터 타입이 object인데 이걸 int로 바꿔주고 싶다. 따라서 astype을 사용했으나 에러가 났다. 실제로 분양가격에서 공백이 있는 값들을 찍어보니 꽤 나오는 걸 확인할 수 있었다. 이 값들로 인해 astype이 실행되지 않는 것이었다. 따라..
파이썬 기초 - 전처리 과정에서 사용되는 다양한 함수(2) 전처리 과정에서 사용되는 다양한 함수(2) dropna() nan값이 있는 행을 제거해주는 함수다. 이 함수에는 몇 가지 옵션을 추가할 수 있는데 먼저 axis가 있다. (1) axis옵션 dropna(axis=0)을 하면 행을 드랍한다. 반대로 dropna(axis=1)을 주면 열을 드랍한다. 즉 해당 행에 혹은 해당 열에 하나라도 nan값이 있다면 그 행 혹은 열 자체를 삭제해버린다. (2) how옵션 df.dropna(axis=0, how='any') 처럼 how='any'를 주는 경우 위와 같이 nan값이 한 개라도 있을 때 제거해준다. df.dropna(axis=0, how='all') 처럼 how='all'은 해당 행에 모두 nan값이 있어야 그 행을 제거한다. drop_duplicates()..
파이썬 기초 - 전처리 과정에서 사용되는 다양한 함수 전처리 과정에서 사용되는 다양한 함수 datetime 함수 데이트타임을 변환하면 날짜 정보를 쉽게 추출해 낼 수 있다. 사용 예시는 아래와 같다. pd.to_datetime(df['생년월일']) 이 상태에서 df['생년월일'].dt.year 를 사용하면 연도만 뽑아온다. df['생년월일'].dt.dayofweek 를 사용하면 요일을 뽑아온다. **월요일: 0 화요일: 1, 수요일: 2, 목요일: 3, 금요일: 4, 토요일: 5, 일요일: 6** df['생년월일'].dt.weekofyear 는 일 년 중 몇 번째 주인지 나타낸다. 컬럼의 키 값을 1 혹은 0으로 만들고 싶을 때 df.loc[df['성별'] == '남자', '성별'] = 1 df.loc[df['성별'] == '여자', '성별'] = 0 첫 ..
파이썬 기초 - 표 합치기 표 합치기 표를 합치는 데에는 기본적으로 두 개의 함수가 사용된다. concat과 merge함수 이 두 함수의 차이점이라면 concat함수는 단순하게 표를 이어붙일 때 사용되고 merge함수는 특정 고유 키 값을 기준으로 병합할 때 사용된다. concat 가령 df와 df_copy라는 함수를 합친다고 할 때 pd.concat([df, df_copy], sort=False) 를 입력하면 표가 위아래로 합쳐진다. (sort=False는 row기준으로 합침) 여기서 주의할 점은 concat함수는 합칠 함수들을 리스트로 받는다는 것이다. 그런데 이렇게 합치게 되면 아래와 같이 index가 엉망이 되어버린다. 따라서 인덱스를 재편해주기 위해 df_concat.reset_index(drop=True) 를 입력한다...