Pandas DataFrame のバックフィルメソッド

PandasPandasBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Pandas ライブラリの DataFrame.backfill() メソッドの使い方を学びます。このメソッドを使うと、DataFrame の欠損値を同じ列の次のエントリの値で埋めることができます。このメソッドをさまざまなパラメータとともに使って、欠損データを効果的に処理する方法を学びます。

VM のヒント

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) pandas(("Pandas")) -.-> pandas/DataSelectionGroup(["Data Selection"]) pandas(("Pandas")) -.-> pandas/DataCleaningGroup(["Data Cleaning"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) pandas/DataSelectionGroup -.-> pandas/select_columns("Select Columns") pandas/DataSelectionGroup -.-> pandas/select_rows("Select Rows") pandas/DataCleaningGroup -.-> pandas/handle_missing_values("Handling Missing Values") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/PythonStandardLibraryGroup -.-> python/data_serialization("Data Serialization") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills pandas/select_columns -.-> lab-68589{{"Pandas DataFrame のバックフィルメソッド"}} pandas/select_rows -.-> lab-68589{{"Pandas DataFrame のバックフィルメソッド"}} pandas/handle_missing_values -.-> lab-68589{{"Pandas DataFrame のバックフィルメソッド"}} python/using_packages -.-> lab-68589{{"Pandas DataFrame のバックフィルメソッド"}} python/data_collections -.-> lab-68589{{"Pandas DataFrame のバックフィルメソッド"}} python/data_serialization -.-> lab-68589{{"Pandas DataFrame のバックフィルメソッド"}} python/data_analysis -.-> lab-68589{{"Pandas DataFrame のバックフィルメソッド"}} end

欠損値を持つ DataFrame を作成する

まず、Pandas ライブラリを使って欠損値を持つ DataFrame を作成しましょう。

import pandas as pd

df = pd.DataFrame({'A': [None, 3, None, None],
                   'B': [2, 4, None, 3],
                   'C': [None, None, None, 1],
                   'D': [0, 1, 5, 4]},
                  columns=['A', 'B', 'C', 'D'])

print(df)

上記のコードは、列 'A'、'B'、'C'、'D' に欠損値を持つ DataFrame を作成します。

DataFrame.backfill() を使って欠損値を埋める

このステップでは、DataFrame の欠損値を埋めるために DataFrame.backfill() メソッドを使います。

filled_df = df.bfill()

print(filled_df)

bfill() メソッドが DataFrame に適用され、欠損値が同じ列の次の利用可能な値で埋められます。

axis=1 で欠損値を埋める

このステップでは、DataFrame.backfill() メソッドの axis パラメータを使って、欠損値を水平方向(つまり列方向)に埋めます。

filled_df = df.bfill(axis=1)

print(filled_df)

axis=1 を設定することで、bfill() メソッドは同じ行の次の利用可能なエントリの値で欠損値を埋めます。

埋める連続する NaN 値の数を制限する

このステップでは、DataFrame.backfill() メソッドの limit パラメータを使って、埋める連続する NaN 値の数を制限します。

filled_df = df.bfill(limit=2)

print(filled_df)

limit=2 を設定することで、bfill() メソッドは各列で最大 2 つの連続する NaN 値のみを埋めます。

インプレース変更に inplace=True を使用する

このステップでは、DataFrame.backfill() メソッドの inplace パラメータを使って、DataFrame をインプレースで変更します。

df.bfill(inplace=True)

print(df)

inplace=True を設定することで、bfill() メソッドは新しい DataFrame を返す代わりに元の DataFrame を変更します。

まとめ

この実験では、Pandas ライブラリの DataFrame.backfill() メソッドの使い方を学びました。DataFrame の欠損値を埋めるさまざまな方法を扱い、垂直方向と水平方向への埋め込み、埋める連続する NaN 値の数の制限、およびインプレースでの埋め込み操作について説明しました。欠損データをどのように処理するかを理解することは、データ分析とモデリングタスクにとって欠かせないことです。この点で backfill() メソッドは便利なツールです。