Pythonのlocを使ってPandas DataFrameにリストを追加する方法
Pandas DataFrameにlocでリストを追加する方法
DataFrame.locは、ラベルやブール配列を指定して行・列のグループにアクセスするためのプロパティです。この機能を利用すると、リスト形式のデータを新しい行としてDataFrameの末尾に簡単に追加できます。
本記事では、locを使ってPandas DataFrameにリストを1行追加する手順を、具体的なサンプルコードと実行結果とともに解説します。
1. DataFrameを作成する
まず、チームランキングのデータをリスト形式で用意し、それをもとにDataFrameを作成します。
import pandas as pd
# チームランキングのデータ(リスト形式)
Team = [['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75],
['New Zealand', 4, 65], ['South Africa', 5, 50], ['Bangladesh', 6, 40]]
# DataFrameを作成し、カラム名を設定
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
2. 追加する行(リスト)を用意する
次に、DataFrameに追加したい行をリストとして定義します。リストの要素数は、DataFrameのカラム数と一致させている点に注目してください。
# 追加する行のデータ myList = ["Sri Lanka", 7, 30]
3. locを使って行を追加する
loc[len(dataFrame)]を指定することで、現在の行数と同じインデックス位置、つまりDataFrameの末尾に新しい行を追加できます。
# loc()を使ってリスト形式の行を追加 dataFrame.loc[len(dataFrame)] = myList
完全なサンプルコード
ここまでの手順をすべてまとめたコードが以下です。
import pandas as pd
# チームランキングのデータ(リスト形式)
Team = [['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75],
['New Zealand', 4, 65], ['South Africa', 5, 50], ['Bangladesh', 6, 40]]
# DataFrameを作成し、カラム名を設定
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
print("DataFrame...")
print(dataFrame)
# 追加する行のデータ
myList = ["Sri Lanka", 7, 30]
# loc()を使ってリスト形式の行を追加
dataFrame.loc[len(dataFrame)] = myList
# 更新後のDataFrameを表示
print("\nlocを使って行を追加した後のDataFrame...")
print(dataFrame)
実行結果
上記のコードを実行すると、以下のような出力が得られます。「Sri Lanka」の行が正しく末尾に追加されていることが確認できます。
DataFrame...
Country Rank Points
0 India 1 100
1 Australia 2 85
2 England 3 75
3 New Zealand 4 65
4 South Africa 5 50
5 Bangladesh 6 40
locを使って行を追加した後のDataFrame...
Country Rank Points
0 India 1 100
1 Australia 2 85
2 England 3 75
3 New Zealand 4 65
4 South Africa 5 50
5 Bangladesh 6 40
6 Sri Lanka 7 30
ポイントまとめ
DataFrame.locは、ラベルベースで行・列にアクセスするためのプロパティです。len(dataFrame)は現在の行数を返すため、loc[len(dataFrame)]と指定すれば常に末尾に新しい行を追加できます。- 追加するリストの要素数は、DataFrameのカラム数と一致している必要があります。
- なお、大量の行をループで繰り返し追加する場合はパフォーマンスが低下するため、その場合は
pd.concat()で一括結合するか、最初にリストをまとめてからDataFrame化する方法が推奨されます。
-
PythonでpandasのDataFrameをCSVファイルに書き込む方法【to_csv()の使い方】
pandasのDataFrameをCSVファイルに出力する基本 PythonでpandasのDataFrameをCSVファイルに書き込むには、to_csv()メソッドを使用します。このメソッドは、DataFrameの内容をそのままCSV形式で保存できる、最もシンプルで一般的な方法です。 まずはサンプルデータとして、リストを値にもつ辞書を作成しましょう。 # リストの辞書を定義 d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase: [2020-10-10, 2020-10-12, 2020-
-
Pythonのループでリストに値を追加・代入する方法【append()活用】
Pythonのループを使ってリストに値を追加する方法 Pythonの組み込みクラスであるlistには、要素を末尾に追加するためのappend()メソッドが用意されています。このメソッドとinput()関数、さらに無限ループ(while True)を組み合わせることで、ユーザーが入力した値を次々とリストに格納することができます。 以下のサンプルコードでは、ユーザーが何も入力せずにEnterキーを押すまで、繰り返し項目の入力を受け付け、その都度リストへ追加していきます。 L = [] while True: item = input(新しい項目を入力してください: ) if ite