Pythonのilocを使ってPandas DataFrameにリストを追加する方法
ilocメソッドとは
ilocは、Pandasにおいて行や列の「整数位置」に基づいてデータを選択するためのインデックス参照メソッドです。このilocを利用することで、既存のDataFrameに対してリスト形式の新しい行を追加(上書き)することができます。
本記事では、ilocを使って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'])このコードでは、「Country(国名)」「Rank(順位)」「Points(ポイント)」の3つの列を持つDataFrameが生成されます。
追加する行の定義
次に、DataFrameに追加したい行をリストとして定義します。
myList = ["Sri Lanka", 7, 30]
ilocで行を追加する方法
iloc()を使えば、定義したリストを指定した位置の行に割り当てることができます。
dataFrame.iloc[5] = myList
iloc[5]と指定すると、インデックス5(6番目の行)が新しい行で置き換えられます。つまり、元々「Bangladesh」だった行が「Sri Lanka」のデータに更新されます。
ポイント: ilocによる代入は、既存の行を上書きする動作になります。DataFrameの末尾に完全な新規行として追加したい場合は、pd.concat()やlocを使う方法が適しています。
完全なコード例
以下に、ここまでの手順をまとめた完全なコードを示します。
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...\n", dataFrame)
# 追加する行
myList = ["Sri Lanka", 7, 30]
# iloc()を使って行を追加(上書き)
# 5を指定すると、インデックス5=6番目の行が新しい行に置き換わる
dataFrame.iloc[5] = myList
# 更新後のDataFrameを表示
print("\nUpdated DataFrame after appending a row using iloc...\n", dataFrame)実行結果
上記のコードを実行すると、次のような出力が得られます。
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
Updated DataFrame after appending a row using iloc...
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 Sri Lanka 7 30出力を見ると、インデックス5の行が「Bangladesh」から「Sri Lanka」に置き換わっていることが確認できます。このように、ilocを使えば特定の位置の行を簡単に更新・追加できます。
-
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