분류 전체보기(28)
-
[5주차] 데이터 전처리 문법 중급
이번 포스팅에서는 시계열 데이터 전처리에서 사용되는 문법을 다뤄본다. # 파일 불러오기 import pandas as pd df = pd.read_csv('gapminder.tsv', sep='\t') 1. Groupby 1주차에서 배운 Groupby() 함수는 시계열 데이터에서도 유용하게 사용한다. # 바로 컬럼을 지정하여 통계치를 볼 수 있다. df.groupby('year').lifeExp.mean() 만약 컬럼을 2가지 이상 잡게 된다면? df.groupby('year')[['lifeExp', 'pop']].mean() 1주차에서 groupby() 함수는 .agg() 함수와 자주 함께 사용된다는 것을 배웠다. .agg() 함수는 내가 원하는 함수를 만들어서 넣을 수 있다는 것을 명심하자! # 내가..
2024.01.12 -
[4주차] Outlier!
이상치(Outlier) 이상치(Outlier)란, 보통 관측된 데이터의 범위에서 많이 벗어난 작은 값이나 큰 값을 말한다. 극단적인 값이고, 전체 데이터 범위를 넘는 값이므로 이 데이터를 무조건 제거해야 하는가? 라는 질문에 대한 답을 한다면 글쎄.. 예를 들어, 백화점 고객데이터에서 일반고객과 vip고객의 데이터를 비교하면 vip 고객은 outlier일 것이다. 그러나, 백화점 입장에서 보면 Outlier에 속해있는 vip고객 데이터를 더 집중해야하는 고객이라 판단하고, 이 부분에 대해 고민해야 한다. 즉, 데이터 분포가 outlier와 기존의 데이터분포로 나눠진다면 과연 outlier 의미가 이상치인지 의미있는 데이터인지 의심을 해봐야 하는 것! 이상치 처리 이러한 이상치가 의사결정에 큰 영향을 미칠..
2024.01.12 -
[3주차] 결측치 보간법에 따른 회귀분석 결과 비교
지난 시간에 배운 보간법을 사용하여 결측치를 보간하고, sklearn-impute 라이브러리를 이용해서 회귀분석을 진행해보자 회귀분석을 통해 mse 차이 비교 1) 필요한 패키지 임포트 # sklearn-learn에서 일부 실험적이거나 미완성 기능 사용 시 experimental 모듈 제공 # 명시적으로 활성화해야만 사용할 수 있음 # Imputeation 대체 방법을 사용하는 Imputer 활성화 from sklearn.experimental import enable.iterative_imputer # 결측값 예측에 회귀 모델을 반복적으로 사용하여 결측값을 대체하는 도구 임포트 from sklearn.impute import IterativeImputer import pandas as pd import..
2024.01.08 -
[2주차] 결측치와 누락값
결측치와 누락값 결측치와 누락값은 데이터 분석에서 중요한 요소로 간주된다. 결측치는 실제로 값이 없는 상황, 누락값은 휴먼 에러 등으로 인해 빠진 값이다. 둘 다 " 값이 없다"는 NA, NaN과 같은 표현으로 나타낼 수 있다. 순수한 결측치 vs na값 자체가 값인 경우 예를 들어, 설문조사에서 "가장 선호하는 색깔은?" 이라는 질문에 대답하지 않은 경우 해당 값은 결측치가 된다. 이는 데이터에서 값이 실제로 빠져있어서 해당 위치에 아무런 정보가 없는 경우를 의미한다. 반면, 통신이나 센서 데이터에서 "na"값은 신호 강도가 부족하거나 데이터의 품질이 낮은 상태를 나타낸다. 이 경우, "na"값은 특별한 상태를 나타내는 것! 결측치 & 누락값을 왜 처리하여야 하는가? 데이터의 정확성과 분석 결과의 신뢰..
2024.01.07 -
[1주차] 데이터 전처리 기본기
데이터 분석에 필요한 기초문법 pandas 라이브러리에서 제공하는 기초 문법들은 여러가지가 있지만, 그 중 데이터 전처리에 필요한 기초 문법들 중 필수적인 문법 몇 가지만 알아보자 먼저 pandas 라이브러리를 임포트하고, 예제 파일 학생들의 반 별(nclass) 과목별 점수가 나와있는 exam.csv 파일을 불러온다. import pandas as pd df = pd.read_csv('exam.csv') 1. query() query() 함수는 행 데이터를 추출할 때 사용한다. 예를 들어, 데이터프레임(df) 데이터를 추출할 때 학생(id), 반(nclass)와 같은 연속적인 범주형 데이터를 추출할 수 있다. query() 괄호 안에 다양한 조건들을 넣어 원하는 조건의 데이터를 추출할 수 있다. # C..
2024.01.02 -
'뉴진스' 네이버 뉴스 기사 크롤링
오늘은 지난번에 배운 .find() 함수를 활용하여 킹짱 '뉴진스' 네이버 뉴스 크롤링을 해볼 예정이다. 뉴스 검색 결과에서 네이버뉴스 추려내기 네이버에 '뉴진스'를 검색하고 주소창을 확인하면 다음과 같은 url을 확인할 수 있다. 이를 가져와 코드로 작성하고, query = '뉴진스' url = "https://search.naver.com/search.naver?where=news&query=" + query web = requests.get(url).content source = BeautifulSoup(web, 'html.parser') 웹 페이지의 HTML 내용을 가져와서 파싱하여 source에 구조화 된 형태로 저장하였다. (필요한 정보 추출을 위해) 네이버뉴스 제목 크롤링 '뉴진스' 검색 후..
2024.01.02