Pandas の append メソッド

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、Python Pandas の append() メソッドの使い方を学びます。append() メソッドを使うと、1つの DataFrame の行を別の DataFrame に追加でき、新しい DataFrame オブジェクトが返されます。追加する DataFrame にある列が呼び出し元の DataFrame にまだ存在しない場合、それらの列も追加できます。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

2つの DataFrame を作成する

まず、このチュートリアルの例で使用する2つの DataFrame を作成する必要があります。

import pandas as pd

## DataFrame 1 を作成する
df1 = pd.DataFrame([['Abhishek', 100, 'Science', 90],
                    ['Anurag', 101, 'Science', 85]],
                   columns=['Name', 'Roll No', 'Subject', 'Marks'])

## DataFrame 2 を作成する
df2 = pd.DataFrame([['Chetan', 103, 'Maths', 75],
                    ['Divya', 104, 'Science', 80],
                    ['Diya', 105, 'Maths', 92]],
                   columns=['Name', 'Roll No', 'Subject', 'Marks'])

append() メソッドを使って行を追加する

append() メソッドを使って、1つの DataFrame に別の DataFrame を追加することができます。これを行うには、追加先の DataFrame で append() メソッドを呼び出し、追加する DataFrame をパラメータとして渡します。

## DataFrame 2 を DataFrame 1 に追加する
appended_df = df1.append(df2)

## 結果を表示する
print(appended_df)

インデックス値の重複を避ける

1つの DataFrame を別の DataFrame に追加すると、インデックス値が重複する場合があります。これを避けるには、ignore_index パラメータを True に設定することができます。これにより、追加された DataFrame に新しいインデックス値が再割り当てされます。

## ignore_index パラメータを True に設定して DataFrame 2 を DataFrame 1 に追加する
appended_df = df1.append(df2, ignore_index=True)

## 結果を表示する
print(appended_df)

インデックス値の重複を防止する

インデックス値が重複した場合にエラーを発生させたい場合は、verify_integrity パラメータを True に設定できます。

## verify_integrity パラメータを True に設定して DataFrame 2 を DataFrame 1 に追加する
try:
    appended_df = df1.append(df2, verify_integrity=True)
except ValueError as e:
    print(e)

Series から行を追加する

Series として表される単一の行を DataFrame に追加することもできます。これを行うには、行の値とインデックスを持つ Series オブジェクトを作成し、その後、Series をパラメータとして DataFrame の append() メソッドを呼び出します。

## Series を作成する
series = pd.Series(['Chetan', 103, 'Maths', 75], index=['Name', 'Roll No', 'Subject', 'Marks'])

## Series を DataFrame 1 に追加する
appended_df = df1.append(series, ignore_index=True)

## 結果を表示する
print(appended_df)

辞書から行を追加する

辞書として表される行を DataFrame に追加することもできます。これを行うには、列名をキーとし、行の値を値とする辞書を作成し、その後、辞書をパラメータとして DataFrame の append() メソッドを呼び出します。

## 辞書を作成する
dictionary = {'Name': 'Chetan', 'Roll No': 103, 'Subject': 'Maths', 'Marks': 75}

## 辞書を DataFrame 1 に追加する
appended_df = df1.append(dictionary, ignore_index=True)

## 結果を表示する
print(appended_df)

まとめ

このチュートリアルでは、Python Pandas の append() メソッドの使い方を学びました。このメソッドを使って、1つの DataFrame の行を別の DataFrame に追加するだけでなく、追加する DataFrame の列が呼び出し元の DataFrame にまだ存在しない場合には、それらの列も追加できます。ignore_indexverify_integrity などの適切なパラメータを使って、追加操作の動作を制御することを忘れないでください。このメソッドを使えば、データ分析タスクで DataFrame を簡単に結合して操作できます。楽しいコーディングを!