<jupyter_start><jupyter_text>PRACTICE 3[Dataset](https://drive.google.com/open?id=15IyT1ODuDKgZb8WN6iG64hFJRZWJTSAz) : Titanic dataset.**Latar Belakang** : Dataset berisi data untuk 887 penumpang Titanic. Setiap baris mewakili satu orang. Kolom menggambarkan atribut yang berbeda tentang orang tersebut termasuk apakah mereka selamat (S), usia mereka (A), kelas penumpang mereka (C), jenis kelamin mereka (G) dan tarif yang mereka bayar (X).**Tujuan** : Menjawab pertanyaan-pertanyaan yang telah tersedia.  0. Load Library<jupyter_code>import pandas as pd
import numpy as np

import matplotlib.pyplot as plt
import seaborn as sns<jupyter_output><empty_output><jupyter_text>I. What is the dimension (col, row) of the data frame?<jupyter_code>df = pd.read_csv('titanic.csv')
df.head()
df.shape<jupyter_output><empty_output><jupyter_text>> Dengan menggunakan fungsi *shape* maka dapat diketahui dimensi data. Dapat diektahui terdapat 887 row/baris dan 8 columns/kolom  II. How to know data type of each variable?<jupyter_code>df.dtypes<jupyter_output><empty_output><jupyter_text>> Terdapa 4 feature yang tipe datanya integer, 2 yang float, dan 2 yang string  III. How many passengers survived (Survived=1) and not-survived (Survived=0)?<jupyter_code>df.groupby('Survived').size()<jupyter_output><empty_output><jupyter_text>- Menggunakan fungsi *groupby* amka dapat diketahui 342 penumpang yang selamat (code = 1) dan 545 penumpang yang tidak selamat (code = 0).  IV. How to drop column ‘Name’ from the data frame?<jupyter_code>df.head()
df.drop(columns=['Name'], inplace=True)
df.head()<jupyter_output><empty_output><jupyter_text>> Menggunakan fungsi df.*drop* maka dapat menghilangkan kolom yang tidak ingin digunakan   V. Add one new column called ‘family’ to represent number of family-member aboard (hint: family = sibsp + parch)<jupyter_code>df['family'] = df['Siblings/Spouses Aboard'] + df['Parents/Children Aboard']
df.head()<jupyter_output><empty_output><jupyter_text>> dapat menggunakan simbol '+' untuk menambahan satu kolom baru yang disebut 'family' untuk mewakili jumlah anggota keluarga di atas kapal   VI. As shown, columns ‘Age’ contains missing values. Please add new column named ‘Age_miss’ to indicate whether Age is missing or not (Age_miss = ‘YES’ for missing value and ‘NO’ for non-missing value).<jupyter_code>#tidak ada missing values
df.isnull().sum()
age_miss = []
for i in range(len(df)):
    if np.isnan(df['Age'][i]):
        age_miss.append('YES')
    else:
        age_miss.append('NO')
df['age_miss'] = age_miss
df.head()<jupyter_output><empty_output><jupyter_text>VII. Please fill Age missing value with means of existing Age values<jupyter_code>df['Age'] = df['Age'].fillna(df['Age'].mean())<jupyter_output><empty_output><jupyter_text>> Dengan menggunakan fungsi *fillna* maka dapat mengimputasi variabel missing dengan *.mean* maka dapat mengimputasi dengan rata-rata variabel.  VIII. What is the maximum passenger Age who survived from the tragedy?<jupyter_code>df[df['Survived']==1]['Age'].max()<jupyter_output><empty_output><jupyter_text>> Dengan menggunakan fungsi *.max* maka dapat mengethaui nilai maksimum dari suatu kolom. Umur maksimum yang dapat selamat dalam tragedi tersebut yaitu 80 tahun.  IX. How many passengers survived from each ‘PClass’?<jupyter_code>df[df['Survived']==1].groupby('Pclass')['Survived'].count()<jupyter_output><empty_output><jupyter_text>> Dengan menggunakan fungsi *count* maka dapat diektahui jumlah penumpang yang selamat untuk setiap kategori PClass yaitu kategori 1 = 136, kategori 2 = 87 dan kategori 3 = 119.  X. How to randomly split the data frame into 2 parts (titanic1 and titanic2) with proportion of 0.7 for tttanic1 and 0.3 for titanic2 ?<jupyter_code># Package untuk Split Data
from sklearn.model_selection import train_test_split
titanic1 = df.sample(frac=0.7).reset_index()
titanic1.head()
titanic2 = df.drop(titanic1.index)
titanic2.head()
titanic1.shape
titanic2.shape<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1053952321204517, 'fraction_numerical': 0.015558343789209535, 'mean_word_length': 6.39517625231911, 'pattern_counts': {'":': 0, '<': 45, '<?xml version=': 0, '>': 52, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '11', 'dir': 'jupyter-structured-clean-dedup', 'id': '548343', 'license': 'Xnet', 'n_tokens_mistral': 1549, 'n_tokens_neox': 1459, 'n_words': 405, 'path': 'Question 3/PRACTICE 3_Titanic.ipynb', 'repo_name': 'afifahnrswr/Mid-Test-Use-Case', 'size': '3985'}