分析用に収集したデータに欠損値(null)が入っている場合、そのまま利用すると、正しい分析結果が得られない場合がある。
その為、この欠損値が含まれるデータを除外したり、欠損値を0や対象項目の平均値に変換して対処する事が多い。
以下は、データの読み込み~欠損値の対応例
# ライブラリの読み込み(numpyとpandas) import numpy as np import pandas as pd # pandasを利用したデータの読み込み df = pd.read_csv("xxxx.csv") -- 自分で用意したデータを利用 # データの確認 df.head()
![](https://apl-py.com/blog/wp-content/uploads/2021/12/a59713a414c73f9f64b3580c1fbb9f17-600x169.png)
# 欠損値の有無の確認 > isnull関数を利用 df.isnull()
![](https://apl-py.com/blog/wp-content/uploads/2021/12/e7c9da7567ff8df982ffab2d8e841a98-600x164.png)
# 欠損値の存在有無の確認 > any関数を利用 df.isnull().any()
![](https://apl-py.com/blog/wp-content/uploads/2021/12/f538b3d0289e44756acf8dabe70af333.png)
# 欠損値数の集計 > sum関数を利用 df.isnull().sum()
![](https://apl-py.com/blog/wp-content/uploads/2021/12/72b30c4a5d4bbf380be9bbad9413e2d5.png)
# 欠損値を0に変換する > fillna関数を利用して0を設定する df.fillna(0)
![](https://apl-py.com/blog/wp-content/uploads/2021/12/93e1d0a6f42b8eb7ac4984618e05d7cd-600x156.png)
# 指定項目に欠損値があるデータを削除する > dropna関数で項目を指定する *以下ではkcalに欠損値が含まれるデータを除外する df.dropna(subset=["kcal"])
![](https://apl-py.com/blog/wp-content/uploads/2021/12/bca07a4c30775753ba962870b1dadeec-600x162.png)
### 欠損値を対象項目の平均値に変換する方法 # 1)対象項目(ここでは"kcal"を利用)の平均値を算出してavgへ設定する > mean関数を利用 avg = df["kcal"].mean() # 2)kcal項目の欠損値に平均値を入れる > fillna関数を利用 df["kcal"] = df["kcal"].fillna(avg) # 3)testデータの中身を確認 > kcal項目の欠損値が平均値に代わっている df.head()
![](https://apl-py.com/blog/wp-content/uploads/2021/12/9a205109ac55a4ebfebbcf02ceac0cc1-600x176.png)