파이썬을 활용한 데이터 분석 입문 17

[python]데이터 전처리 - 날짜 데이터 처리하기

데이터 분석을 진행하다 보면 날짜와 시간을 다루는 경우가 많습니다. 날짜 데이터는 다양한 형식으로 존재할 수 있으며, 이를 효과적으로 분석하기 위해서는 datetime 형식으로 변환하고 일관된 형식으로 통일하는 작업이 필수적입니다. 또한, 두 날짜 사이의 시간 차이를 계산해야 할 때도 많습니다. 이번 포스팅에서는 Python의 Pandas 라이브러리를 사용해 날짜 데이터를 datetime 형식으로 변환하고, 날짜 형식을 통일하는 방법과 to_timedelta 함수를 활용해 시간 차이를 계산하는 방법을 소개합니다. **1. 날짜 데이터를 datetime 형식으로 변환하기** 일반적으로 CSV 파일이나 Excel 파일에서 불러온 날짜 데이터는 문자열(string)로 저장되어 있는 경우가 많습니다. 이를 Pa..

[Python]데이터 전처리 - 데이터 합치기

데이터 분석을 하다 보면 여러 데이터프레임을 합쳐서 분석해야 하는 경우가 자주 발생합니다. 이번 포스팅에서는 Pandas의 주요 데이터 합치기 메소드인 concat, merge, join과 이들 메소드에서 자주 사용되는 주요 파라미터 옵션들에 대해 알아보겠습니다.  concat 메소드concat 메소드는 여러 데이터프레임을 단순히 연결(concatenate) 할 때 사용됩니다. 축(axis)을 기준으로 데이터프레임을 이어 붙이는 방식입니다.import pandas as pd# 샘플 데이터프레임 생성df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2']})df2 = pd.DataFrame({'A': ['A..

[Python]데이터 전처리 - 정규화와 표준화

이번 포스팅에서는 데이터셋에서 수치 데이터를 다룰 때 유용하게 쓰이는 스케일링 기법에 대해 알아보고 스케일링 기법의 대표적인 정규화와 표준화에 대해 알아보겠습니다.  실습 준비import pandas as pd# 샘플 데이터프레임 생성df = pd.DataFrame({ 'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]})df   스케일링(scaling)스케일링 기법은 데이터를 일정한 범위나 분포로 변환하는 방법을 의미합니다. 이는 서로 다른 크기나 범위를 가지는 데이터들을 비교하거나, 데이터의 각 특성(feature)을 동일한 기준으로 맞출 수 있게 하여 데이터 분석을 용이하게 합니다. 정규화(Normalization)정규화는 데이터를 일정한 범위로 변환하는..

[Python]데이터 전처리 - 문자열 처리

데이터 프레임에서 문자열을 처리할 때, str 속성을 사용하여 다양한 문자열 메서드를 활용할 수 있습니다. 이번 포스팅에서는 Pandas에서 자주 사용하는 문자열 처리 메서드들 중 대소문자 처리와 문자열 조작에 대해 알아보겠습니다. 대소문자 변환문자열을 모두 대문자로 변환df.str.upper()upper 메서드는 문자열을 모두 대문자로 변환합니다. 이를 통해 일관된 대문자 형식으로 데이터를 정규화할 수 있습니다.import pandas as pddata = {'Name': ['alice', 'Bob', 'CHARLIE']}df = pd.DataFrame(data)df['Name_upper'] = df['Name'].str.upper()print(df) Name Name_upper0 ali..

[Python]데이터 전처리 - 중복값 처리

이번 포스팅에서는 데이터 셋에 중복된 데이터가 존재하는지 확인하는 법, 중복된 데이터가 존재할 때 해당 데이터를 처리하는 방법에 대해 알아보겠습니다.  실습준비  데이터셋 다운로드 colab 실행# finalterm_revised.csv 파일 불러오기finalterm = pd.read_csv('/content/drive/MyDrive/Data/finalterm_revised.csv')finalterm    중복값이란?중복값은 데이터셋 내에 동일한 데이터 행이 여러 번 반복되어 나타나는 경우를 말합니다. 중복값은 데이터 수집 과정에서 발생할 수 있으며, 이는 데이터 분석 과정에서 왜곡을 일으킬 수 있어 주의가 필요합니다. 중복값 탐지Pandas는 데이터프레임에서 중복값을 쉽게 탐지할 수 있는 duplica..

[Python]데이터 전처리 - 파생변수 만들기

이번 포스팅에서는 데이터 전처리 과정에서 파생변수를 만드는 방법에 대해 알아보겠습니다. 실습준비오늘은 2개의 데이터셋을 사용합니다. 데이터셋 다운로드  colab 실행# 구글 드라이브 마운트from google.colab import drivedrive.mount('/content/drive')# 판다스 라이브러리import pandas as pd# numpy 라이브러리import numpy as np # finalterm 기말고사 성적 데이터 불러오기finalterm = pd.read_csv('/content/drive/MyDrive/Data/finalterm.csv')finalterm.head() # gpa(grade point average) 평점 데이터 불러오기gpa = pd.read_csv('/..

[Python]데이터 전처리 - 데이터 정렬과 메소드 체이닝

이번 포스팅에서는 데이터를 특정 변수에 대해 정렬하는 방법과 여러 명령을 동시에 처리할 수 있는 메소드 체이닝에 대해 알아보겠습니다. 실습 준비colab 실행# gpa(grade point average) 평점 데이터 불러오기 gpa = pd.read_csv('/content/drive/MyDrive/Data/gpa.csv')# student_id로 인덱스 만들기gpa = gpa.set_index('student_id')# 5줄만 출력하기gpa.head() 정렬(Sorting)정렬은 데이터프레임이나 시리즈의 데이터를 특정 기준에 따라 순서를 재배치하는 작업을 의미합니다. 정렬은 주로 데이터를 더 직관적으로 분석하거나 원하는 순서대로 표시할 때 사용됩니다. 정렬 방법df.sort_values('변수 값')..

[Python]데이터 전처리 - 데이터 정제(3) 이상치 처리

이전 포스팅에서 이상치의 정의와 이상치를 확인하는 방법에 대해 알아보았습니다. 이번 포스팅에서는 이상치 처리 방법과 이상치 처리 결과를 실습을 통해 알아보겠습니다. 실습 준비gpa 파일 다운로드 google drive -> 내 드라이브 -> Data -> 업로드colab 실행# 구글 드라이브 마운트from google.colab import drivedrive.mount('/content/drive')# 판다스 라이브러리import pandas as pd# seaborn 라이브러리import seaborn as sns# numpy 라이브러리import numpy as np# gpa(grade point average) 평점 데이터 불러오기 gpa = pd.read_csv('/content/drive/My..

[Python]데이터 전처리 - 데이터 정제(2) 이상치 확인하기

이번 포스팅에서는 이상치의 정의와 이상치를 확인하는 방법을 위주로 알아보겠습니다. 그리고 확인과정에서 필요한 seaborn 패키지의 박스플롯을 그리고, 박스플롯의 통계적 의미에 대해서도 소개하겠습니다.실습준비colab 실행# 구글 드라이브 마운트from google.colab import drivedrive.mount('/content/drive')# 판다스 라이브러리import pandas as pdfinalterm = pd.read_csv('finalterm.csv') # 파일경로finalterm이상치(Outlier)이상치(Outlier)는 데이터 분석에서 일반적인 패턴에서 크게 벗어난 값이나 관측치를 의미합니다. 쉽게 말해 다른 데이터들과 동떨어진 너무 크거나 너무 작은 값입니다. 이러한 값은 데이..

[Python]데이터 전처리 - 데이터 정제(1) 결측치 처리

이번 포스팅에서는 데이터프레임의 일부분을 삭제하는 방법, 결측치의 정의와 결측치를 처리하는 방법에 대해 알아보겠습니다.실습준비구글 드라이브 업로드 finalterm.csv 다운로드 -> google drive -> 내 드라이브 -> Data -> 업로드colab 실행# 구글 드라이브 마운트from google.colab import drivedrive.mount('/content/drive')# 판다스 라이브러리import pandas as pdfinalterm = pd.read_csv('finalterm.csv') # 파일경로finaltermfinalterm = finalterm.set_index("name")finalterm특정 데이터 삭제하기finalterm 데이터를 보시면 명수 학생만 2반이고, ..