欠損データの処理

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、データ分析における一般的な問題である pandas での欠損値の処理方法を学びます。欠損値の識別方法、欠損値の埋め込み方法、不要なデータの削除方法について説明します。また、欠損値を表すために使用できる pandas の実験的な NA スカラーについても議論します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 初級 レベルの実験の完了率は 83%です。学習者から 95% の好評価を得ています。

必要なライブラリをインポートして DataFrame を作成する

まず、必要なライブラリである pandas と NumPy をインポートする必要があります。そして、いくつかの欠損値を持つ DataFrame を作成します。

import pandas as pd
import numpy as np

## 欠損値を持つ DataFrame を作成する
df = pd.DataFrame(
   np.random.randn(5, 3),
   index=["a", "c", "e", "f", "h"],
   columns=["one", "two", "three"],
)
df["four"] = "bar"
df["five"] = df["one"] > 0
df2 = df.reindex(["a", "b", "c", "d", "e", "f", "g", "h"])

欠損値を検出する

次に、欠損値を検出するために isna 関数と notna 関数を使用します。

## 欠損値を検出するために isna と notna を使用する
pd.isna(df2["one"])
df2["four"].notna()
df2.isna()

欠損データを挿入する

ここでは、データに欠損値を挿入する方法を見ていきます。

## 欠損値を挿入する
s = pd.Series([1., 2., 3.])
s.loc[0] = None

欠損データを使った計算を行う

欠損データを使っていくつかの基本的な算術と統計的計算を行います。

## 欠損データを使った計算を行う
df["one"].sum()
df.mean(1)
df.cumsum()

欠損データがある軸のラベルを削除する

dropna を使って欠損データがあるラベルを除外する方法を学びます。

df.dropna(axis=0)
df.dropna(axis=1)
df["one"].dropna()

欠損値を補完する

DataFrame 内の欠損値を埋めるために interpolate 関数を使用します。

df = pd.DataFrame(
   {
       "A": [1, 2.1, np.nan, 4.7, 5.6, 6.8],
       "B": [0.25, np.nan, np.nan, 4, 12.2, 14.4],
   }
)
df.interpolate()

汎用的な値を置き換える

replace を使用して任意の値を他の値に置き換える方法を学びます。

ser = pd.Series([0.0, 1.0, 2.0, 3.0, 4.0])
ser.replace(0, 5)

欠損値を表す NA スカラーを理解する

最後に、欠損値を表すために使用できる pandas の実験的な NA スカラーについて説明します。

s = pd.Series([1, 2, None], dtype="Int64")
s

まとめ

この実験では、pandas を使って欠損データを処理する方法を学びました。欠損データの検出、挿入、計算、削除の方法を学びました。また、欠損値を補完したり置き換えたりする方法も学びました。最後に、欠損値を表すための pandas の実験的な NA スカラーについて説明しました。この知識は、欠損データが頻繁に問題となる現実世界のデータ分析タスクを処理する際に非常に役立ちます。