機械学習をする場合にまずデータを準備しますが、csv形式でデータが準備される場合も多いと思います。
データの確認や加工が簡単になるpandas形式で読み込むのがスタンダードになります。
必要なライブラリをまず読み込んでおきます。
import numpy as np import scipy as sp from pandas import Series, DataFrame import pandas as pd import matplotlib.pyplot as plt import matplotlib as mlp import seaborn as sns import sklearn
CSV形式のファイルをpandas形式で読み込むには .read_csv() 関数を使います。
ただしこれはカンマ区切りのcsv場合に使用します。タブ区切りの場合は read_table() を使用します。
mydata = pd.read_csv('sample.csv')
読み込んだデータの確認はhead()を使うと良いです。引数に表示する行数を指定できます。
省略した場合は5行表示されます。
mydata.head()
行数と列数を確認する場合はshapeを使用します。
mydata.shape
欠損値の確認
欠損の有無を確認する為にはisnull関数を使用します。
isnull関数のあとにany関数を付け加えると、1つ以上欠損値を含んでいる場合にTrueと表示されます。
mydata.isnull().any()
欠損値の件数を知りたい場合はisnull関数のあとにsum関数を付け加えます。
mydata.isnull().sum()
特定の値(例えば?)が入っているかどうかの確認は「isin関数」を使います。
mydata.isin(['?']).sum()
欠損値の処理方法
欠損値に何らかの値を入れる場合は fillna() を使います。引数を0にすると欠損値に0が代入されます。
欠損値のある行を削除するには dropna関数を使用します。
mydata.dropna()
特定の列に欠損値がある場合、対象の行を削除したい時はdropna関数の引数にsubsetに列名を記述します。
mydata.dropna(subset=["age"])