Kaggle(1) - 欠損値のカウントと欠損値が多い列をまるごと削除

「Kaggle」とは10万人以上のデータサイエンティストが参加するデータ分析コンペです。

コンペに参加するのに必要な分析手法を勉強していこう・・・とふと思いました。

実行環境としてGoogleさんのColaboratoryを使用します。

データの読み込み

まずはタイタニックのデータセットを読み込みます。

1
2
3
4
5
6
7
8
9
import pandas as pd
import seaborn as sns
pd.options.display.max_colwidth = 2

# データ読み込み
url = 'https://raw.githubusercontent.com/mwaskom/seaborn-data/master/raw/titanic.csv'
titanic = pd.read_csv(url)

titanic.head()

欠損値のカウント

欠損値をカウントしてパーセンテージを出力する関数を定義して、「cabin」列の欠損値の割合を求めます。

1
2
3
4
5
6
7
8
# 欠損値をカウントして、パーセンテージを出力する
def calc_missing_rate(df, v):
total = df[v].isnull().sum()
percent = round(total/ len(df[v]) * 100, 2)
return pd.DataFrame([[total, percent]], columns=['total', 'percent'], index=[v])

# Cabinの欠損値の割合を確認
calc_missing_rate(titanic, 'cabin')

列をまるごとごと削除

欠損値の割合が77.1%と多かったので、「cabin」列を丸ごと削除します。

1
2
3
# Cabinを列ごと削除
titanic = titanic.drop('cabin', axis=1) # axis=0が行データ,axis=1が列データを指定
titanic.head()

次回は、統計量の算出とヒストグラム(度数分布表)の表示を行います。