はじめに
この実験では、Pandas DataFrame の combine_first() メソッドの使い方を学びます。このメソッドを使うと、1 つの DataFrame の null 値をもう 1 つの DataFrame の非 null 値で埋めることができ、2 つの DataFrame オブジェクトを結合できます。1 つの DataFrame に欠損データがあり、もう 1 つの DataFrame のデータで埋めたい場合に便利です。
VM のヒント
VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を使って練習しましょう。
Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション終了後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
import pandas as pd
欠損値を持つ 2 つの DataFrame を作成する
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})
combine_first() メソッドを使って DataFrame を結合する
combined_df = df1.combine_first(df2)
結合した DataFrame を表示する
print(combined_df)
DataFrame の 1 つに新しい行を追加する
df2.loc[2] = [2, 2]
再び DataFrame を結合する
combined_df = df1.combine_first(df2)
再び結合した DataFrame を表示する
print(combined_df)
None 値を持つ DataFrame を結合する
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [None, 1], 'B': [None, 3]})
combined_df = df1.combine_first(df2)
print(combined_df)
異なるインデックスを持つ DataFrame を結合する
df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})
df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])
combined_df = df1.combine_first(df2)
print(combined_df)
まとめ
この実験では、Pandas DataFrame のcombine_first()メソッドの使い方を学びました。このメソッドを使うと、1 つの DataFrame の null 値を別の DataFrame の非 null 値で埋めることができることがわかりました。また、両方の DataFrame に null 値がある場合や、DataFrame が異なるインデックスを持つ場合にどのように対応するかも見ました。combine_first()メソッドは、DataFrame の結合と欠損データの埋め込みに便利なツールです。