import numpy as np
from numpy import nan
from pandas import Series,DataFrame
import pandas as pd
data = Series(['one','two', np.nan, 'four'])
data
# null値は簡単に見つけられます。
data.isnull()
# null値は簡単に取り除けます。
data.dropna()
# DataFrameの場合をみてみます。
dframe = DataFrame([[1,2,3],[np.nan,5,6],[7,np.nan,9],[np.nan,np.nan,np.nan]])
dframe
clean_dframe = dframe.dropna()
clean_dframe
# 取り除き方を指定することもできます。すべてNaNの行がなくなります。
dframe.dropna(how='all')
# 軸を指定することも可能です。
dframe.dropna(axis=1)
# どの列にも必ず1つはnull値があるので、すべての列がなくなります。
#閾値を決めることも可能です。
dframe2 = DataFrame([[1,2,3,nan],[2,nan,5,6],[nan,7,nan,9],[1,nan,nan,nan]])
dframe2
# nullではない値が2個以上必要
dframe2.dropna(thresh=2)
# 同じく3個以上
dframe2.dropna(thresh=3)
# null値を埋められます。
dframe2.fillna(1)
# 列ごとに埋める値を変えられます。
dframe2.fillna({0:0,1:1,2:2,3:3})
dframe2
# inplace=Trueにすると、元のDataFrameを変更してくれます。
# dframe2 = dframe2.fillna(....)と同じ
dframe2.fillna(0,inplace=True)
dframe2