Series を DataFrame に変換するには:

df = ser.to_frame()

あるいは、次の方法を使用してシリーズを変換することもできます。

df = pd.DataFrame(ser)

Pandasシリーズをデータフレームに変換する手順

ステップ1: シリーズを作成する

簡単な例から始めるために、5 つの項目のリストから Pandas シリーズを作成しましょう。

import pandas as pd

item = ["Computer", "Printer", "Tablet", "Desk", "Chair"]
ser = pd.Series(item)

print(ser)
print(type(ser))

Python でコードを実行すると、次のシリーズが得られます。

Pandasシリーズをデータフレームに変換する 3

注記「print(type(ser))」は、シリーズを作成したことを示すためにコードの下部に追加されました(上記で黄色で強調表示されています)。

ステップ2: Pandasシリーズをデータフレームに変換する

次に、コードに df = ser.to_frame() を追加して、Series を DataFrame に変換します。

import pandas as pd

item = ["Computer", "Printer", "Tablet", "Desk", "Chair"]
ser = pd.Series(item)

df = ser.to_frame()

print(df)
print(type(df))

コードを実行すると、DataFrame が取得されます。

Pandasシリーズをデータフレームに変換する 4

上記の場合、列名は「0」です。または、コードにdf.rename(columns={0: “item”}, inplace=True)を追加して、列名を「item」に変更することもできます。

import pandas as pd

item = ["Computer", "Printer", "Tablet", "Desk", "Chair"]
ser = pd.Series(item)

df = ser.to_frame()
df.rename(columns={0: "item"}, inplace=True)

print(df)
print(type(df))

上部に新しい列名が表示されます。

Pandasシリーズをデータフレームに変換する 5

複数のシリーズをPandas DataFrameに変換する

ここでは、複数の Series (次のデータ) を DataFrame に変換する方法を説明します。

itembrandprice
ComputerA700
PrinterB150
TabletC300
DeskD450
ChairE200

上記のデータに基づいて 3 シリーズを作成しましょう。

import pandas as pd

item = ["Computer", "Printer", "Tablet", "Desk", "Chair"]
series_item = pd.Series(item)
print(series_item)

brand = ["A", "B", "C", "D", "E"]
series_brand = pd.Series(brand)
print(series_brand)

price = [700, 150, 300, 450, 200]
series_price = pd.Series(price)
print(series_price)

コードを実行すると、次の 3 つのシリーズが得られます。

Pandasシリーズをデータフレームに変換する 6

3 シリーズを DataFrame に変換するには、次の手順が必要です。

  • 3つのシリーズを3つのデータフレームに変換する
  • 3つのデータフレームを1つのデータフレームに連結する

完全なコードは次のとおりです。

import pandas as pd

item = ["Computer", "Printer", "Tablet", "Desk", "Chair"]
series_item = pd.Series(item)

brand = ["A", "B", "C", "D", "E"]
series_brand = pd.Series(brand)

price = [700, 150, 300, 450, 200]
series_price = pd.Series(price)

df_item = pd.DataFrame(series_item)
df_item.rename(columns={0: "item"}, inplace=True)

df_brand = pd.DataFrame(series_brand)
df_brand.rename(columns={0: "brand"}, inplace=True)

df_price = pd.DataFrame(series_price)
df_price.rename(columns={0: "price"}, inplace=True)

df_all = pd.concat([df_item, df_brand, df_price], axis=1)
print(df_all)
print(type(df_all))

コードを実行すると、次の単一の DataFrame が取得されます。

Pandasシリーズをデータフレームに変換する 7