この記事では、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 データフレームが必要です。
この記事もチェック:Pandasのデータフレームに行を追加する5つの簡単な方法
リストの辞書からデータフレームを作成する
# 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)
|
この記事もチェック:Pandas DataFrameの単一カラムの名前を変更する
assign() を使って pandas のデータフレームに新しいカラムを追加する
これは、pandasに組み込まれた assign()
メソッドを使用して既存のデータフレームに新しいカラムを追加する2つ目の堅牢な方法です。
これは、既存のデータフレームに新しいカラムを追加し、追加されたカラムを含む新しいデータフレームを返します。
これを使用するための Python コードを見てみましょう。
結果は以下の通りです。
insert() メソッドで新しいカラムを追加する
これは、既存のデータフレームに新しいカラムを追加する3番目の強力な方法です。
これまでのデータフレームに列を追加する方法は、単にデータフレームの最後に新しい列を追加するものでしたが、insert()
メソッドは既存のデータフレーム内の任意の指定した位置に新しい列を追加することができます。
では、これを使ったPythonのコードを見てみましょう。
結果は以下の通りです。
出力では、Pythonのコードで指定された3番目の列インデックスにbranchという新しい列が追加されていることがよくわかります。
まとめ
この記事では、pandas のデータフレームとは何か、リストの辞書から新しいデータフレームを作成する方法、そして既存のデータフレームに新しいカラムを追加する 3 つの堅牢なメソッドについて学びました。
データフレームのインデックス作成、 assign()
メソッド、そして insert()
メソッドです。