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
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