Pandas DataFrame の結合メソッド

PythonPythonBeginner
今すぐ練習

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

はじめに

この実験では、pandas ライブラリの combine() メソッドを使って 2 つの DataFrame を列方向に結合する方法を学びます。combine() メソッドを使うと、指定された関数を使って 1 つの DataFrame の列を別の DataFrame と結合できます。

VM のヒント

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

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

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

pandas ライブラリをインポートする

まず、データ操作と分析に強力なライブラリである pandas ライブラリをインポートする必要があります。

import pandas as pd

DataFrame を作成する

次に、combine() メソッドを示すために使用する 2 つの DataFrame を作成しましょう。

df1 = pd.DataFrame({'A': [2, 0, 5], 'B': [2, None, -0.25]})
df2 = pd.DataFrame({'A': [3, 1, None], 'B': [3, 3, -4]})

DataFrame の内容を見るために、print で出力しましょう。

print("DataFrame 1:")
print(df1)
print("\nDataFrame 2:")
print(df2)

出力:

DataFrame 1:
   A     B
0  2  2.00
1  0   NaN
2  5 -0.25

DataFrame 2:
     A  B
0  3.0  3
1  1.0  3
2  NaN -4

combine() メソッドを使って DataFrame を結合する

さて、combine() メソッドを使って 2 つの DataFrame を結合しましょう。

combined_df = df1.combine(df2, min)

2 つの列の間で小さい値を選ぶために、min 関数が func パラメータとして使用されます。

結合した DataFrame を出力して結果を見ましょう。

print("\nCombined DataFrame:")
print(combined_df)

出力:

Combined DataFrame:
     A     B
0  2.0  2.00
1  0.0   NaN
2  5.0 -4.00

カスタム関数を使って DataFrame を結合する

DataFrame を結合するために、func パラメータとしてカスタム関数を使うこともできます。各列の値を掛け合わせる multiply_columns というカスタム関数を作成しましょう。

def multiply_columns(s1, s2):
    return s1 * s2

combined_df = df1.combine(df2, multiply_columns)

結合した DataFrame を出力して結果を見ましょう。

print("\nCombined DataFrame:")
print(combined_df)

出力:

Combined DataFrame:
     A    B
0  6.0  6.0
1  0.0  NaN
2  NaN  1.0

まとめ

この実験では、pandas の combine() メソッドを使って 2 つの DataFrame を列方向に結合する方法を学びました。組み込み関数やカスタム関数を使って列をマージする方法を見ました。combine() メソッドは、特定の条件やルールに基づいて 2 つの DataFrame の列をマージしたい場合に便利です。このメソッドは、データを結合する方法に柔軟性を提供し、必要に応じて欠損値を埋めます。