HOWTO · Pandas

リストから Pandas の DataFrame を作成する

このチュートリアルでは、リストを使って Pandas の DataFrame を作成する方法を説明します。

Pandas では、pd.DataFrame() メソッドを使ってリストから Pandas DataFrame を作成することができます。1つのリスト、複数のリスト、多次元リストを使用して、これを実現することができます。

単一リストを使用して Pandas の DataFrame を作成する

これは、単一のリストから Dataframe を作成する最も基本的なケースです。リストを pd.DataFrame() に渡すだけで、結果は単一カラムの Dataframe になります。

import pandas as pd
import numpy as np

lst = ["Jay", "Raj", "Jack"]
df = pd.DataFrame(lst, columns=["Name"])

print(df)

出力:

   Name
0   Jay
1   Raj
2  Jack

複数のリストを使用して Pandas DataFrame を作成する

複数のリストから Pandas DataFrame を作成するには、zip() 関数を使用する必要があります。関数 zip()zip 型のオブジェクトを返し、最初の位置にある要素を一緒にしたり、2 番目の位置にある要素を一緒にしたりします。ここでは、リストはそれぞれ別の列として扱われます。

例:

import pandas as pd
import numpy as np

lst1 = ["Jay", "Raj", "Jack"]
lst2 = [12, 15, 14]
df = pd.DataFrame(list(zip(lst1, lst2)), columns=["Name", "Age"])
print(df)

出力:

   Name  Age
0   Jay   12
1   Raj   15
2  Jack   14

多次元リストを使用して Pandas DataFrame を作成する

別のリストを含むリストは、多次元リストと呼ばれます。この場合、メインリストの中に入れ子になっている各リストは、DataFrame の行として機能します。以下の例では、その方法を示します。

import pandas as pd
import numpy as np

lst = [["Jay", 12, "BBA"], ["Jack", 15, "BSc"]]
df = pd.DataFrame(lst, columns=["Name", "Age", "Course"])
print(df)

出力:

   Name  Age Course
0   Jay   12    BBA
1  Jack   15    BSc