1. 타이타닉호 승객 데이터 읽어오기
In [1]:
import pandas as pd
In [2]:
train = pd.read_csv('train.csv', index_col='PassengerId')
In [3]:
train
Out[3]:
2. 각 컬럼별 데이터 개수 확인
In [4]:
train.shape
Out[4]:
(891, 11)
In [5]:
train.count()
Out[5]:
Survived 891
Pclass 891
Name 891
Sex 891
Age 714
SibSp 891
Parch 891
Ticket 891
Fare 891
Cabin 204
Embarked 889
dtype: int64
3. 승객 중 성별 인원수, 선실별 인원수, 사망/생존별 인원수, 나이별 인원수 구하기
In [6]:
train['Sex'].value_counts()
Out[6]:
male 577
female 314
Name: Sex, dtype: int64
In [7]:
train['Pclass'].value_counts()
Out[7]:
3 491
1 216
2 184
Name: Pclass, dtype: int64
In [8]:
train['Survived'].value_counts()
Out[8]:
0 549
1 342
Name: Survived, dtype: int64
In [9]:
train['Age'].value_counts()
Out[9]:
24.00 30
22.00 27
18.00 26
19.00 25
28.00 25
..
36.50 1
55.50 1
0.92 1
23.50 1
74.00 1
Name: Age, Length: 88, dtype: int64
3. 나이정보 카테고리 만들기
In [10]:
ages = train['Age']
bins = [0, 15, 29, 49, 60, 99] # 구간
# 구간 -> 초과~이하
labels = ['미성년자', '청년', '중년', '장년', '노년'] # 구간의 이름
# 1~15 - 미성년자, 16~29 - 청년, 30~49 - 중년, 50~60 - 장년, 61~99 - 노년
cats = pd.cut(ages, bins, labels=labels)
In [11]:
train['Cats'] = cats
In [12]:
train.head()
In [13]:
train['Cats'].value_counts()
Out[13]:
청년 301
중년 256
미성년자 83
장년 52
노년 22
Name: Cats, dtype: int64
4. 타이타닉호 승객을 사망자와 생존자로 나누고 각 그룹에 대한 나이대별 비율 구하기
In [14]:
# 생존자
# survived1['Cats'].value_counts(dropna=False) / survived1['Cats'].count() -> 결측치도 보여줌
survived1 = train[train['Survived'] == 1]
survived1['Cats'].value_counts() / survived1['Cats'].count()
Out[14]:
청년 0.368966
중년 0.368966
미성년자 0.168966
장년 0.075862
노년 0.017241
Name: Cats, dtype: float64
In [15]:
# 사망자
survived0 = train[train['Survived'] == 0]
survived0['Cats'].value_counts() / survived1['Cats'].count()
Out[15]:
청년 0.668966
중년 0.513793
미성년자 0.117241
장년 0.103448
노년 0.058621
Name: Cats, dtype: float64
In [16]:
train['Sex'].value_counts()
Out[16]:
male 577
female 314
Name: Sex, dtype: int64
In [17]:
survived1['Sex'].value_counts()
Out[17]:
female 233
male 109
Name: Sex, dtype: int64
In [18]:
train['Pclass'].value_counts()
Out[18]:
3 491
1 216
2 184
Name: Pclass, dtype: int64
In [19]:
survived1['Pclass'].value_counts()
Out[19]:
1 136
3 119
2 87
Name: Pclass, dtype: int64
'Study > Python' 카테고리의 다른 글
[Python]OpenCV - 2 이진화 (1) | 2023.10.20 |
---|---|
[Python] OpenCV - 1 이미지 로드 및 저장 (1) | 2023.10.19 |
[Python] Numpy 배열 (1) | 2023.10.17 |
[Python] Matplotlib (0) | 2023.10.16 |
[Python] pandas라이브러리 CrimeData 실습 (0) | 2023.10.13 |