Pandas Python で 2つの DataFrame を連結する

Fariba Laiq 2024年2月15日
  1. Pandas Python で 2つの DataFrame を連結する
  2. Pandas Python で concat() 関数を使用して 2つのデータフレームを連結する
  3. 共通フィールドを使用して 2つの Pandas DataFrame を組み合わせる
  4. Pandas Python で append() メソッドを使用して 2つのデータフレームを連結する
Pandas Python で 2つの DataFrame を連結する

リストのような構造を持つシリーズと、表形式の構造を持つデータ フレームは、Pandas によって導入されたデータを格納するための 2つの新しいタイプのオブジェクトです。 Pandas データ フレームは、どのツールキットでも最も有用なデータ構造の 1つです。

データフレームは、SQL テーブルやシリーズ オブジェクトの dict と同様に、複数の型の列を含む 2 次元のラベル付きデータ構造と見なすことができます。 多くの場合、最も使用されるのは Pandas アイテムです。

Pandas Python で 2つの DataFrame を連結する

Pandas の助けを借りて、シリーズまたはデータ フレームを、インデックス用のさまざまなタイプのセット ロジックと結合およびマージ タイプの操作用のリレーショナル代数機能とすばやく組み合わせることができます。 さらに、Pandas は、2つのシリーズまたはデータ フレームを比較し、Pandas concat() 手法を使用してそれらの違いを強調するツールを提供します。 2つ以上のデータ フレームを結合することができます。

Pandas の concat() 関数は、行または列にまたがってデータ フレームを結合します。 行または列に沿ってそれらを連結することにより、多くのデータフレームを組み合わせることができます。

Pandas Python で concat() 関数を使用して 2つのデータフレームを連結する

concat() は、あるデータフレームから別のデータフレームに列または行を追加する Pandas の関数です。 データフレームとシリーズを組み合わせます。

次のコードでは、2つのデータ フレームを作成し、それらを concat() 関数を使用して結合しています。 2つのデータ フレームをリストとして concat() 関数に渡しました。

コード例:

import pandas as pd

df1 = pd.DataFrame(
    {"id": ["ID1", "ID2", "ID3", "!D4"], "Names": ["Harry", "Petter", "Daniel", "Ron"]}
)
df2 = pd.DataFrame(
    {"id": ["ID5", "ID6", "ID7", "ID8"], "Names": ["Kelvin", "Henry", "Emma", "Sofia"]}
)
display(" First DataFrame: ", df1)
display(" Second DataFrame: ", df2)
frames = [df1, df2]
d = pd.concat(frames)
display(d)

出力:

Pandas Concatenate Two Dataframes Using Concat

共通フィールドを使用して 2つの Pandas DataFrame を組み合わせる

それらを連結するために、データ フレームを縦または横に追加しました。 同様の値を持つ各データセットの列を利用することは、データ フレーム (一意の共通 ID) を結合するもう 1つの方法です。

結合は、共有フィールドを利用してデータ フレームを結合するプロセスです。 join キーは、共有値列を参照します。

1つのデータ フレームに、他のデータ フレームに組み込みたい追加データを含むルックアップ テーブルが含まれている場合、この方法でデータ フレームを結合すると便利なことがよくあります。

複数のデータ フレームを結合する場合、さまざまな軸 (連結されている軸以外) の処理方法を選択できます。

これがどのように使用できるかを示すために、それらすべての結合 join='outer' を取ります。 join='inner' との交点を検討してください。これは、情報の損失を引き起こさず、デフォルトの選択であるためです。

コード例:

import pandas as pd

df1 = pd.DataFrame(
    {"id": ["ID1", "ID2", "ID3", "!D4"], "Names": ["Harry", "Petter", "Daniel", "Ron"]}
)
df2 = pd.DataFrame(
    {"id": ["ID5", "ID6", "ID7", "ID8"], "Names": ["Kelvin", "Henry", "Emma", "Sofia"]}
)
print(" First DataFrame: ", df1)
print(" Second DataFrame: ", df2)
frames = [df1, df2]
d = pd.concat([df1, df2], axis=1, join="inner")
print(d)

出力:

Pandas Concatenate Two Dataframes Using a Common Field

Pandas Python で append() メソッドを使用して 2つのデータフレームを連結する

append() メソッドは、データ フレームを連結するために使用できます。append() は、シリーズとデータフレームの便利なショートカット インスタンス メソッドです。 この手法は concat() よりも前から存在していました。

コード例:

import pandas as pd
import pandas as pd

df1 = pd.DataFrame(
    {"id": ["ID1", "ID2", "ID3", "!D4"], "Names": ["Harry", "Petter", "Daniel", "Ron"]}
)

df2 = pd.DataFrame(
    {"id": ["ID5", "ID6", "ID7", "ID8"], "Names": ["Kelvin", "Henry", "Emma", "Sofia"]}
)
frames = [df1, df2]
d = pd.concat([df1, df2], axis=1, join="inner")
result = df1.append(df2)
display(result)

出力:

Pandas Concatenate Two Dataframes Using Append

著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

関連記事 - Pandas DataFrame