2つの Pandas Series を DataFrame にマージする

Samreena Aslam 2023年1月30日
  1. pandas.concat() メソッドを使用して、2つの Pandas Series を DataFrame にマージする
  2. pandas.merge() メソッドを使用して、2つの Pandas Series を DataFrame にマージする
  3. Series.append() メソッドを使用して、2つの Pandas Series を DataFrame にマージする
  4. DataFrame.join() メソッドを使用して、2つの Pandas Series を DataFrame にマージする
  5. まとめ
2つの Pandas Series を DataFrame にマージする

Pandas は非常に人気のあるオープンソースの Python ライブラリであり、DataFrame で 2つの Pandas Series をマージまたは結合するためのさまざまな機能またはメソッドを提供します。Pandas では、シリーズは、整数、浮動小数点数、文字列、Python オブジェクトなど、任意のデータ型を処理できる単一の 1 次元ラベル付き配列です。簡単に言うと、Pandas Series は Excel シートの列です。シリーズは、データを順次の順序で保存します。

このチュートリアルでは、2つまたは複数の Pandas Series を DataFrame にマージまたは結合する方法を説明します。

pandas.concat()Series.append()pandas.merge()DataFrame.join()など、2つまたは複数の Pandas Series を DataFrame にマージするために使用できるメソッドがいくつかあります。。この記事では、いくつかの例を使用して、各方法について簡単に説明します。

pandas.concat() メソッドを使用して、2つの Pandas Series を DataFrame にマージする

pandas.concat() メソッドは、軸に沿ってすべての連結操作を実行します(行方向または列方向のいずれか)。特定の軸に沿って 2つ以上の Pandas オブジェクトまたはシリーズをマージして、DataFrame を作成できます。concat() メソッドはさまざまなパラメータを取ります。

次の例では、pandas series を渡してマージし、axis=1 をパラメーターとして渡します。axis=1 は、系列が行ではなく列としてマージされることを意味します。axis=0 を使用すると、Pandas Series が行として追加されます。

サンプルコード:

import pandas as pd

# Create Series by assigning names
products = pd.Series(
    ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    name="Products",
)
dollar_price = pd.Series([350, 300, 400, 250], name="Price")
percentage_sale = pd.Series([83, 99, 84, 76], name="Sale")

# merge two pandas series using the pandas.concat() method
df = pd.concat([products, dollar_price, percentage_sale], axis=1)
print(df)

出力:

             Products  Price  Sale
0  Intel Dell Laptops    350    83
1          HP Laptops    300    99
2      Lenavo Laptops    400    84
3        Acer Laptops    250    76

pandas.merge() メソッドを使用して、2つの Pandas Series を DataFrame にマージする

pandas.merge() は、SQL join またはマージ操作と同様に、DataFrame の複雑な列単位の組み合わせをマージするために使用されます。merge() メソッドは、指定された系列オブジェクトまたは DataFrame 間のすべてのデータベース結合操作を実行できます。pandas.merge() メソッドを使用する場合は、追加のパラメータ name をシリーズに渡す必要があります。

次の例を参照してください。

サンプルコード:

import pandas as pd

# Create Series by assigning names
products = pd.Series(
    ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    name="Products",
)
dollar_price = pd.Series([350, 300, 400, 250], name="Price")

# using pandas series merge()
df = pd.merge(products, dollar_price, right_index=True, left_index=True)
print(df)

出力:

             Products  Price
0  Intel Dell Laptops    350
1          HP Laptops    300
2      Lenavo Laptops    400
3        Acer Laptops    250

Series.append() メソッドを使用して、2つの Pandas Series を DataFrame にマージする

Series.append() メソッドは、concat() メソッドへのショートカットです。このメソッドは、axis=0 または行に沿って系列を追加します。このメソッドを使用すると、列ではなく行としてシリーズを別のシリーズに追加することで、DataFrame を作成できます。

ソースコードで series.append() メソッドを次のように使用しました。

サンプルコード:

import pandas as pd

# Using Series.append()
technical = pd.Series(["Pandas", "Python", "Scala", "Hadoop"])
non_technical = pd.Series(["SEO", "Graphic design", "Content writing", "Marketing"])

# using the appen() method merge series and create dataframe
df = pd.DataFrame(
    technical.append(non_technical, ignore_index=True), columns=["Skills"]
)
print(df)

出力:

           Skills
0           Pandas
1           Python
2            Scala
3           Hadoop
4              SEO
5   Graphic design
6  Content writing
7        Marketing

DataFrame.join() メソッドを使用して、2つの Pandas Series を DataFrame にマージする

DataFrame.join() メソッドを使用して、2つのシリーズを結合できます。このメソッドを使用する場合、1つのシリーズを DataFrame オブジェクトに変換する必要があります。次に、その結​​果を使用して別のシリーズと組み合わせます。

次の例では、最初のシリーズを DataFrame オブジェクトに変換しました。次に、この DataFrame を使用して別のシリーズとマージしました。

サンプルコード:

import pandas as pd

# Create Series by assigning names
products = pd.Series(
    ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    name="Products",
)
dollar_price = pd.Series([350, 300, 400, 250], name="Price")

# Merge series using DataFrame.join() method
df = pd.DataFrame(products).join(dollar_price)
print(df)

出力:

             Products  Price
0  Intel Dell Laptops    350
1          HP Laptops    300
2      Lenavo Laptops    400
3        Acer Laptops    250

まとめ

このチュートリアルでは、4つの異なる方法を使用して 2つの Pandas Series を DataFrame にマージする方法を学びました。さらに、これらの 4つのメソッド pandas.concat()Series.append()pandas.merge()DataFrame.join() がどのように Pandas の系列結合タスクを解決するのかを調べました。

関連記事 - Pandas DataFrame

関連記事 - Pandas Series