[Python]Pandasでデータフレームの末尾に行追加する方法

はじめに

データ解析において、データを取り扱う上で一般的に使用されるのがpandasというPythonライブラリです。pandasを用いることで、データフレームと呼ばれる表形式のデータを扱うことができます。本記事では、pandasを用いてデータフレームに行を末尾に追加する方法について解説します。

pandasライブラリのインストールとインポート

pandasを使用するには、まずライブラリをインストールする必要があります。以下のコマンドを使用して、pandasをインストールします。

!pip install pandas

インストールが完了したら、次のようにしてpandasをインポートします。

import pandas as pd

データセットの準備:サンプルデータフレームの生成

ここでは、サンプルとして以下のようなデータフレームを作成します。

名前 年齢 性別
山田 25 男性
田中 32 女性
佐藤 41 男性

以下のコードを使用して、上記のデータフレームを作成します。

data = {'名前': ['山田', '田中', '佐藤'], '年齢': [25, 32, 41], '性別': ['男性', '女性', '男性']}
df = pd.DataFrame(data)

以下のように表示されます。

   名前  年齢  性別
0  山田  25  男性
1  田中  32  女性
2  佐藤  41  男性

行の追加方法1:append()関数を使った行の追加

pandasでは、データフレームに新しい行を追加するために、append()関数を使用することができます。

以下のコードを使用して、新しい行を追加してみましょう。

new_row = {'名前': '鈴木', '年齢': 28, '性別': '女性'}
df = df.append(new_row, ignore_index=True)

上記のコードでは、append()関数を使用して新しい行を作成し、ignore_index=Trueと指定することで、追加した行のインデックスをリセットしています。また、dfに再代入することで、元のデータフレームを上書きしています。

データフレームを表示してみましょう。

名前 年齢 性別
0 山田 25 男性
1 田中 32 女性
2 佐藤 41 男性
3 鈴木 28 女性

行の追加方法2:concat()関数を使った行の追加

別の方法として、concat()関数を使用して行を追加することもできます。

以下のコードを使用して、新しい行を追加してみましょう。

new_row = {'名前': '加藤', '年齢': 36, '性別': '男性'}
df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)

上記のコードでは、concat()関数を使用して新しい行を作成し、pd.DataFrame()を使用してデータフレームに変換しています。また、ignore_index=Trueと指定することで、追加した行のインデックスをリセットしています。

データフレームを表示してみましょう。

名前 年齢 性別
0 山田 25 男性
1 田中 32 女性
2 佐藤 41 男性
3 鈴木 28 女性
4 加藤 36 男性

追加行のインデックスとカラムの調整:インデックスのリセットとカラム名の整合性確認

新しい行を追加した後、インデックスやカラム名が正しく設定されているか確認することが重要です。
インデックスが正しく設定されているか確認するために、reset_index()関数を使用してインデックスをリセットしてみましょう。

df = df.reset_index(drop=True)

上記のコードでは、reset_index()関数を使用して、インデックスをリセットしています。また、drop=Trueと指定することで、旧インデックスを削除しています。

カラム名が正しく設定されているか確認するために、columns属性を使用してカラム名を表示してみましょう。

df.columns

以下のように表示されます。

Index(['名前', '年齢', '性別'], dtype='object')

カラム名は正しく設定されているようです。

まとめ

pandasを用いることで、データフレームに新しい行を追加することができます。append()関数やconcat()関数を使用することで、行を追加することができます。

新しい行を追加した後には、インデックスやカラム名が正しく設定されているか確認することが重要です。