Pandas DataFrame にリストを追加

Fariba Laiq 2022年6月13日
Pandas DataFrame にリストを追加

このガイドでは、リストを pandas DataFrame に行として追加する方法を示します。追加とは、パンダの DataFrame の下部にリストを行として挿入することを意味します。

Pandas DataFrame にリストを追加する

ここでは、リストを pandas DataFrame に挿入する 2つの方法を見ていきます。1つは dataframe.append() メソッドで、もう 1つは dataframe.loc[] メソッドです。

dataframe.append() メソッドを使用する

次のコードで、学生のレコードで構成される Pandas DataFrame を作成しました。次に、1つの学生レコードを含むリストを作成しました。

append() メソッドを使用して、それを pandas DataFrame に追加します。挿入する新しいレコードとして list を渡し、append() メソッドに列名を渡しました。

このメソッドは、リストを最後のレコードとして DataFrame に挿入し、新しい DataFrame を返します。

サンプルコード:

# Python 3.x
import pandas as pd

student = {
    "Name": ["Jhon", "Aliya", "Nate", "Amber"],
    "Course": ["Java", "Python", "C++", "Dart"],
    "Marks": [70, 80, 90, 60],
    "Age": [19, 20, 21, 19],
}
df = pd.DataFrame(student)
print(df)
list = ["Ben", "JavaScript", 85, 21]
df = df.append(
    pd.DataFrame([list], columns=["Name", "Course", "Marks", "Age"]), ignore_index=True
)
print(df)

出力:

$python3 Main.py

    Name  Course  Marks  Age
0   Jhon    Java     70   19
1  Aliya  Python     80   20
2   Nate     C++     90   21
3  Amber    Dart     60   19
    Name      Course  Marks  Age
0   Jhon        Java     70   19
1  Aliya      Python     80   20
2   Nate         C++     90   21
3  Amber        Dart     60   19
4    Ben  JavaScript     85   21

dataframe.loc[] メソッドを使用する

DataFrame の loc[] プロパティは、指定されたインデックスのレコードを選択します。レコードを挿入する場所として len(df) を指定しました。

DataFrame の長さを返します。長さは最後のインデックス+1 と同じです。

この場所にアクセスし、loc[len(df)] を使用してリストをその場所にレコードとして割り当てます。

サンプルコード:

# Python 3.x
import pandas as pd

student = {
    "Name": ["Jhon", "Aliya", "Nate", "Amber"],
    "Course": ["Java", "Python", "C++", "Dart"],
    "Marks": [70, 80, 90, 60],
    "Age": [19, 20, 21, 19],
}
df = pd.DataFrame(student)
display(df)
list = ["Ben", "JavaScript", 85, 21]
df.loc[len(df)] = list
display(df)

出力:

$python3 Main.py

    Name  Course  Marks  Age
0   Jhon    Java     70   19
1  Aliya  Python     80   20
2   Nate     C++     90   21
3  Amber    Dart     60   19
    Name      Course  Marks  Age
0   Jhon        Java     70   19
1  Aliya      Python     80   20
2   Nate         C++     90   21
3  Amber        Dart     60   19
4    Ben  JavaScript     85   21
著者: 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