03-01) 타이타닉 데이터

slow_starter·2025년 7월 1일
0

모두의연구소-DS4기

목록 보기
22/30
post-thumbnail

01. 데이터 소개 및 개요

  • 타이타닉 데이터는 무엇인지?
    • 타이타닉 호 사고 당시 승선한 인원에 대한 데이터
    • 머신러닝이나 데이터 분석 기초적인 예시에 교과서적으로 자주 사용되는
      데이터
  • pandas로 데이터 처리 시 알아두면 좋은 메서드
NO.메서드설명
1.describe()DataFrame 또는 Series 객체에 대한 요약 통계를 제공합니다. 중심 경향, 분포 및 형태 등을 빠르게 이해할 수 있도록 도와줍니다.
2.apply()함수를 데이터프레임의 열 또는 행에 적용합니다. 예: 모든 수치 데이터에 2를 곱하기.
3.sort_values()값에 따라 오름차순 또는 내림차순으로 정렬합니다. 복수 열 기준 정렬도 가능.
4.tail()지정된 수의 행만 반환합니다. 최근 데이터 확인이나 데이터 크기 큰 경우 빠르게 점검할 때 유용.
5.replace()특정 값을 다른 값으로 대체합니다. 예: 'apple''orange'로.
6pd.to_numeric()문자열이나 다른 타입의 데이터를 숫자형으로 변환합니다.
7.get_dummies()범주형 변수의 각 고유 값을 더미(0/1) 컬럼으로 변환합니다.
8Aggregation (groupby(), agg() 등)여러 데이터를 그룹별로 요약하여 통계량을 계산하거나 정보를 추출합니다.
9.merge()두 개 이상의 데이터프레임을 특정 열 기준으로 병합합니다. SQL의 JOIN과 유사.
10.value_counts()범주형 데이터를 요약하는 데 유용한 메서드입니다. 빈도 분석 등에서 자주 사용.

02. 결측치 체크

  • Q. 데이터의 컬럼 중 'Name', 'Ticket', 'ticket_date'을 동시에 삭제하고, 삭제한 데이터를 dt_data로 저장
# 내가 제출한 답안
dt_data = data.drop(['Name','Ticket','ticket_date'],axis=1)
  • 'Embarked'의 결측치를 출력
data[data['Embarked'].isna()]

03. 이상치 처리

  • Q. 데이터의 'Age' 컬럼에 있는 모든 값에 대해, 70세 초과인 경우 그 값을 70으로 변경하고 그렇지 않은 경우 원래의 값을 유지하는 코드를 적어주세요. (참고: lambda 함수를 활용하고, 'Age' 컬럼이 내림차순으로 보일 수 있도록 정렬해 주세요.)
# 제출한 답안
data['Age'] = data['Age'].apply(lambda x:70 if x>70 else x)
data = data.sort_values(by='Age', ascending = False)

04. 중복 데이터 처리

  • Q.
    1) 'Gendr' 컬럼의 이름을 'Gender'로 바꾸고,
    2) 'male'을 '0', 'female'을 '1'로 바꾸는 코드를 적어 보세요.
# 제출한 답안
data = data.rename({'Gendr':'Gender'}, axis=1)
data['Gender'] = data['Gender'].replace({'male':0, 'female':1})

05. 텍스트 처리

  • Q. txt = STON/OE. 3101282에서 숫자만 출력되도록 코드를 작성
# 제출한 답안
txt = 'STON/OE. 3101282'
print(txt[-7:])
  • Q. 'Ticket' 컬럼에서 숫자(int)만 출력되도록 코드를 작성
# 제출한 답안
data['Ticket'] = data['Ticket'].str.split().apply(lambda x:x[-1])
# 문자형이 있더라? 'LINE'
data['Ticket'] = data['Ticket'].replace({'LINE' : '999999'})
data['Ticket'] = pd.to_numeric(data['Ticket'])

06. 날짜 및 시간 데이터 처리

  • Q. 2022년 11월 24일부터 2023년 3월 15일까지의 일수를 datetime 라이브러리를 활용하여 계산
from datetime import datetime
date1 = datetime.strptime('2022-11-24','%Y-%m-%d')
date2 = datetime.strptime('2023-03-15','%Y-%m-%d')
date2 - date1 # %Y는 4자리 연도, %y는 2자리 연도
  • Q. 타이타닉이 침몰한 날짜는 1912년 4월 15일입니다. 침몰한 날짜를 기준으로 각 승객이 몇 일 전에 티켓을 구매했는지 볼 수 있도록 코드를 작성
from datetime import datetime
acc = datetime.strptime('1912-04-15','%Y-%m-%d')
data['ticket_date'] = pd.to_numeric(data['ticket_date'])
data['buy_before'] = acc - data['ticket_date']
data['buy_before'] = data['buy_before'].dt.days
profile
2025화이팅!

0개의 댓글