欠損値

pandas によるデータ操作

Maggie Matsui

Senior Content Developer at DataCamp

欠損値とは?

名前 品種 毛色 体高 (cm) 体重 (kg) 生年月日
ベラ ラブラドール 茶色 56 25 2013-07-01
チャーリー プードル 43 23 2016-09-16
ルーシー チャウチャウ 茶色 46 22 2014-08-25
クーパー シュナウザー グレー 49 17 2011-12-11
最大値 ラブラドール 59 29 2017-01-20
ステラ チワワ タン 18 2 2015-04-20
バーニー セントバーナード 77 74 2018-02-27
pandas によるデータ操作

欠損値とは?

名前 品種 毛色 体高 (cm) 体重 (kg) 生年月日
ベラ ラブラドール 茶色 56 ? 2013-07-01
チャーリー プードル 43 23 2016-09-16
ルーシー チャウチャウ 茶色 46 22 2014-08-25
クーパー シュナウザー グレー 49 ? 2011-12-11
最大値 ラブラドール 59 29 2017-01-20
ステラ チワワ タン 18 2 2015-04-20
バーニー セントバーナード 77 74 2018-02-27
pandas によるデータ操作

pandas DataFrame の欠損値

print(dogs)
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56        NaN    2013-07-01
1  Charlie       Poodle  Black         43       24.0    2016-09-16
2     Lucy    Chow Chow  Brown         46       24.0    2014-08-25
3   Cooper    Schnauzer   Gray         49        NaN    2011-12-11
4      Max     Labrador  Black         59       29.0    2017-01-20
5   Stella    Chihuahua    Tan         18        2.0    2015-04-20
6   Bernie  St. Bernard  White         77       74.0    2018-02-27
pandas によるデータ操作

欠損値の検出

dogs.isna()
    name  breed  color  height_cm  weight_kg  date_of_birth
0  False  False  False      False       True          False
1  False  False  False      False      False          False
2  False  False  False      False      False          False
3  False  False  False      False       True          False
4  False  False  False      False      False          False
5  False  False  False      False      False          False
6  False  False  False      False      False          False
pandas によるデータ操作

欠損値の検出

dogs.isna().any()
name             False
breed            False
color            False
height_cm        False
weight_kg         True
date_of_birth    False
dtype: bool
pandas によるデータ操作

欠損値を数える

dogs.isna().sum()
name             0
breed            0
color            0
height_cm        0
weight_kg        2
date_of_birth    0
dtype: int64
pandas によるデータ操作

欠損値のグラフ

import matplotlib.pyplot as plt

dogs.isna().sum().plot(kind="bar") plt.show()

dogsデータセットの各列における欠損値の数を数えた棒グラフ。 すべての棒はゼロですが、weight には欠損値が 2 つあります。

pandas によるデータ操作

欠損値の削除

dogs.dropna()
      name        breed  color  height_cm  weight_kg date_of_birth
1  Charlie       Poodle  Black         43       24.0    2016-09-16
2     Lucy    Chow Chow  Brown         46       24.0    2014-08-25
4      Max     Labrador  Black         59       29.0    2017-01-20
5   Stella    Chihuahua    Tan         18        2.0    2015-04-20
6   Bernie  St. Bernard  White         77       74.0    2018-02-27
pandas によるデータ操作

欠損値の置き換え

dogs.fillna(0)
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56        0.0    2013-07-01
1  Charlie       Poodle  Black         43       24.0    2016-09-16
2     Lucy    Chow Chow  Brown         46       24.0    2014-08-25
3   Cooper    Schnauzer   Gray         49        0.0    2011-12-11
4      Max     Labrador  Black         59       29.0    2017-01-20
5   Stella    Chihuahua    Tan         18        2.0    2015-04-20
6   Bernie  St. Bernard  White         77       74.0    2018-02-27
pandas によるデータ操作

練習しましょう!

pandas によるデータ操作

Preparing Video For Download...