はじめに
この実験では、Python の Pandas ライブラリのdrop()メソッドを使って、DataFrame から特定の行や列を削除する方法を学びます。drop()メソッドを使うと、インデックスや列名と対応する軸を指定することで、ラベルを削除できます。また、マルチインデックスの DataFrame では、異なるレベルのラベルを削除することもできます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
Jupyter Notebook が読み込み終わるまで数秒待つことがあります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション終了後にフィードバックを提供してください。すぐに問題を解決いたします。
pandas ライブラリをインポートする
まず、DataFrame と drop() メソッドを使うために、pandas ライブラリをインポートする必要があります。次のコードを使って pandas をインポートできます。
import pandas as pd
DataFrame を作成する
次に、操作対象の DataFrame を作成しましょう。次のコードを使って、サンプルデータを持つ DataFrame を作成します。
df = pd.DataFrame([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]], columns=['a', 'b', 'c', 'd'])
drop() メソッドを使って特定の行を削除する
DataFrame から特定の行を削除するには、index パラメータを持つ drop() メソッドを使うことができます。index パラメータは、削除する行のラベルを指定します。また、axis パラメータを 0 または'index'と指定して、行を削除することを示すこともできます。以下は例です。
dropped_df = df.drop([1])
drop() メソッドを使って特定の列を削除する
DataFrame から特定の列を削除するには、columns パラメータを持つ drop() メソッドを使うことができます。columns パラメータは、削除する列のラベルを指定します。列を削除することを示すには、axis パラメータを 1 または'columns'に設定する必要があります。以下は例です。
dropped_df = df.drop(columns=['b'])
inplace=True を使って DataFrame を直接変更する
デフォルトでは、drop() メソッドは削除された行または列を持つ新しい DataFrame を返します。ただし、元の DataFrame を直接変更したい場合は、inplace パラメータを True に設定できます。以下は例です。
df.drop([1], inplace=True)
まとめ
この実験では、Python の Pandas ライブラリの drop() メソッドを使って、DataFrame から特定の行または列を削除する方法を学びました。削除するラベルを index または columns パラメータを使って指定し、axis パラメータを使って、どの軸に沿ってラベルを削除するかを示すことができます。デフォルトでは、drop() メソッドは削除されたラベルを持つ新しい DataFrame を返しますが、inplace パラメータを True に設定することで、元の DataFrame を直接変更することができます。pandas の DataFrame を操作する際には、drop() メソッドは非常に便利なツールです。
要件を満たすように内容を修正しました。もしさらなるお手伝いが必要であれば、お知らせください。