Pandas DataFrameに新しいカラムを追加する方法

スポンサーリンク

この記事では、pandasのデータフレームに新しいカラムを追加するさまざまな方法について説明します。


スポンサーリンク

pandas のデータフレームとは何ですか?

Pandasのデータフレームは2次元の異種データ構造で、ラベル付きのインデックス、すなわち行と列で表形式にデータを格納します。

通常、データフレームは大きなデータセットを扱わなければならないときに使われ、その後、その大きなデータセットをpandasデータフレームにロードしてデータフレームのサマリーを見るだけでよいのです。

実際の現場では、既存のCSVファイルやExcelファイルなどからデータセットをロードしてpandasデータフレームが作成されます。

しかし、pandasのデータフレームは、リスト、辞書、リストのリスト、辞書のリスト、ndarray/listの辞書などからも作成することができます

既存のデータフレームに新しいカラムを追加する方法を説明する前に、pandas データフレームを必要とします。

pandas のインストールとインポート


データフレームを扱うにはPythonのPandasライブラリが必要なので、まずPandasライブラリをインストールし、Pythonのプログラムにインポートする必要があります。

以下は、Pandasのインストールとインポートのためのコマンドです。

# Installing pandas Python library
pip install pandas
# Importing pandas into the program
import pandas as pd

既存の pandas データフレームに新しい列を追加する方法を説明する前に、pandas データフレームが必要です。

リストの辞書からデータフレームを作成する

# Creating a dictionary of lists
data = {'name': ['Sanjay', 'Ravi', 'Shreya', 'Abhishek', 'Shantanu'],
'roll': [55, 65, 75, 85, 95]}
 
# Creating a pandas data frame from the above data
df = pd.DataFrame(data)
print(df)

結果を出力すると、以下の様になります。

# Adding a new column named 'cgpa' to the data frame
# Using DataFrame indexing
df['cgpa'] = [8.1, 9.3, 8.2, 7.9, 7.5]
print(df)

さて、上で作成した既存のデータフレームに新しいカラムを追加するさまざまな方法について説明しましょう。

この既存のデータフレームに新しいカラムを追加する方法は複数ありますが、ここでは堅牢で強力な3つの主な方法のみを説明します。

DataFrameのインデックスを利用した新しいカラムの追加

既存のpandasデータフレームに新しいカラムを追加する最も簡単な方法は、新しいカラムの名前で既存のデータフレームにインデックスを付け、対応する行のカラムに格納したい値のリストを割り当てるだけです。

# Adding a new column named 'address' to the data frame
# Using the assign() method
# And saving the new returned data frame
df2 = df.assign(address = ['Bihar', 'Bihar', 'Jharkhand', 'UP', 'UP'])
print(df2)

結果は以下の通りです。

# Adding a column named 'branch'to the data frame
# Using the insert() method
# First argument is the column position
# Second argument is the column name
# And third argument is the column value
df2.insert(3, 'branch', ['ECE', 'CSE', 'ECE', 'EE', 'ECE'])
print(df2)

assign() を使って pandas のデータフレームに新しいカラムを追加する

これは、pandasに組み込まれた assign() メソッドを使用して既存のデータフレームに新しいカラムを追加する2つ目の堅牢な方法です。

これは、既存のデータフレームに新しいカラムを追加し、追加されたカラムを含む新しいデータフレームを返します。

これを使用するための Python コードを見てみましょう。

New Dataframe

結果は以下の通りです。

Add Col Df Index

insert() メソッドで新しいカラムを追加する

これは、既存のデータフレームに新しいカラムを追加する3番目の強力な方法です。

これまでのデータフレームに列を追加する方法は、単にデータフレームの最後に新しい列を追加するものでしたが、insert() メソッドは既存のデータフレーム内の任意の指定した位置に新しい列を追加することができます

では、これを使ったPythonのコードを見てみましょう。

Add column using assign()

結果は以下の通りです。

Add column using insert()

出力では、Pythonのコードで指定された3番目の列インデックスにbranchという新しい列が追加されていることがよくわかります。

まとめ

この記事では、pandas のデータフレームとは何か、リストの辞書から新しいデータフレームを作成する方法、そして既存のデータフレームに新しいカラムを追加する 3 つの堅牢なメソッドについて学びました。

データフレームのインデックス作成、 assign() メソッド、そして insert() メソッドです。

タイトルとURLをコピーしました