타이타닉의 승객 데이터 분석

  • 홈페이지 : https://pandas.pydata.org/

위 홈페이지의 문서를 보며 정리한 내용입니다.

1. CSV 파일 불러오기

  • PassengerId : 승객ID
  • Survived: 생존 여부 1(yes) 또는 0(no)
  • PClass : 티켓 클래스 - ‘1’, ‘2’, ‘3’
  • Name : 승객의 이름
  • Sex : 성별
  • Age : 나이
  • SibSp : 형제자매 또는 배우자 수
  • Parch : 부모 또는 자녀 수
  • Ticket : 티켓 번호
  • Fare : 운임 == 요금
  • Cabin : 객실 번호
  • Embarked : 승선 포트(port)
import pandas as pd
titanic = pd.read_csv('https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv')
#titanic = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/titanic.csv',encoding='cp949')
titanic
#titanic.head(5) #앞에서 5개
#titanic.tail(5) #뒤에서 5개
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
... ... ... ... ... ... ... ... ... ... ... ... ...
886 887 0 2 Montvila, Rev. Juozas male 27.0 0 0 211536 13.0000 NaN S
887 888 1 1 Graham, Miss. Margaret Edith female 19.0 0 0 112053 30.0000 B42 S
888 889 0 3 Johnston, Miss. Catherine Helen "Carrie" female NaN 1 2 W./C. 6607 23.4500 NaN S
889 890 1 1 Behr, Mr. Karl Howell male 26.0 0 0 111369 30.0000 C148 C
890 891 0 3 Dooley, Mr. Patrick male 32.0 0 0 370376 7.7500 NaN Q
  • DataFrame 열의 이름 변경
titanic.columns = ['승객ID', '생존여부', '클래스', '이름', '성별', '나이', '형제자매 또는 배우자의 수', '부모 또는 자녀수', '티켓', '운임', '객실', '승선 포트(port)']
titanic
승객ID 생존여부 클래스 이름 성별 나이 형제자매 또는 배우자의 수 부모 또는 자녀수 티켓 운임 객실 승선 포트(port)
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
... ... ... ... ... ... ... ... ... ... ... ... ...
886 887 0 2 Montvila, Rev. Juozas male 27.0 0 0 211536 13.0000 NaN S
887 888 1 1 Graham, Miss. Margaret Edith female 19.0 0 0 112053 30.0000 B42 S
888 889 0 3 Johnston, Miss. Catherine Helen "Carrie" female NaN 1 2 W./C. 6607 23.4500 NaN S
889 890 1 1 Behr, Mr. Karl Howell male 26.0 0 0 111369 30.0000 C148 C
890 891 0 3 Dooley, Mr. Patrick male 32.0 0 0 370376 7.7500 NaN Q
  • pandas는 다양한 파일 형식을 지원
  • csv, excel, sql, html, json, parquet 등
  • read_* 프리픽스를 붙임. 예) read_html, read_csv, read_excel 등
titanic.head() # 첫번째 0행부터 4행까지 출력
승객ID 생존여부 클래스 이름 성별 나이 형제자매 또는 배우자의 수 부모 또는 자녀수 티켓 운임 객실 승선 포트(port)
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
titanic.head(2) # head() 메소드에 인수(n)를 입력, n행 만큼 출력
승객ID 생존여부 클래스 이름 성별 나이 형제자매 또는 배우자의 수 부모 또는 자녀수 티켓 운임 객실 승선 포트(port)
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
titanic.tail() # 마지막 부터 시작해서 n행 만큼 출력, 인수가 없으면 n=5
승객ID 생존여부 클래스 이름 성별 나이 형제자매 또는 배우자의 수 부모 또는 자녀수 티켓 운임 객실 승선 포트(port)
886 887 0 2 Montvila, Rev. Juozas male 27.0 0 0 211536 13.00 NaN S
887 888 1 1 Graham, Miss. Margaret Edith female 19.0 0 0 112053 30.00 B42 S
888 889 0 3 Johnston, Miss. Catherine Helen "Carrie" female NaN 1 2 W./C. 6607 23.45 NaN S
889 890 1 1 Behr, Mr. Karl Howell male 26.0 0 0 111369 30.00 C148 C
890 891 0 3 Dooley, Mr. Patrick male 32.0 0 0 370376 7.75 NaN Q
titanic.dtypes # dtypes는 속성이므로 괄호()를 사용하지 않음.
승객ID                int64
생존여부                int64
클래스                 int64
이름                 object
성별                 object
나이                float64
형제자매 또는 배우자의 수      int64
부모 또는 자녀수           int64
티켓                 object
운임                float64
객실                 object
승선 포트(port)        object
dtype: object
  • object : 문자
  • int64 : 정수
  • float64 : 실수

2. excel파일 저장하고 읽어 오기

  • to_excel() : 저장
  • read_excel() : 읽기
titanic.to_excel("titanic.xlsx", sheet_name="승객정보", index=False)
titanic = pd.read_excel("titanic.xlsx", sheet_name="승객정보" )
titanic
승객ID 생존여부 클래스 이름 성별 나이 형제자매 또는 배우자의 수 부모 또는 자녀수 티켓 운임 객실 승선 포트(port)
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
... ... ... ... ... ... ... ... ... ... ... ... ...
886 887 0 2 Montvila, Rev. Juozas male 27.0 0 0 211536 13.0000 NaN S
887 888 1 1 Graham, Miss. Margaret Edith female 19.0 0 0 112053 30.0000 B42 S
888 889 0 3 Johnston, Miss. Catherine Helen "Carrie" female NaN 1 2 W./C. 6607 23.4500 NaN S
889 890 1 1 Behr, Mr. Karl Howell male 26.0 0 0 111369 30.0000 C148 C
890 891 0 3 Dooley, Mr. Patrick male 32.0 0 0 370376 7.7500 NaN Q
titanic.info()

image

카테고리:

업데이트:

댓글남기기