Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python(pandas)で既存の列を利用してデータフレームに新しい列を作成する方法

データフレーム(DataFrame)は、データを行と列という表形式で格納する二次元のデータ構造です。SQLのテーブルやExcelのシートのようなイメージを持つと分かりやすいでしょう。

データフレームは、以下のコンストラクタを使用して作成できます。

pd.DataFrame(data, index, columns, dtype, copy)

以前の記事では、Seriesオブジェクトとして新しい列を作成し、元のデータフレームにインデックス付けして追加する方法を紹介しました。

今回は、データフレームにすでに存在する列を組み合わせて、新しい列を作成する方法を解説します。この手法は、既存の列に対して何らかの計算を実行し、その結果を新しい列として保存したい場合に非常に便利です。

サンプルコード

import pandas as pd
my_data = {'ab' : pd.Series([1, 8, 7], index=['a', 'b', 'c']),
'cd' : pd.Series([1, 2, 0, 9], index=['a', 'b', 'c', 'd']),
'ef' :pd.Series([56, 78, 32],index=['a','b','c'])}
my_df = pd.DataFrame(my_data)
print("The dataframe is :")
print(my_df)
my_df['gh'] = my_df['ab'] + my_df['ef']
print("After adding column 0 and 2 to the dataframe, :")
print(my_df)

実行結果

The dataframe is :
    ab   cd   ef
a  1.0   1  56.0
b  8.0   2  78.0
c  7.0   0  32.0
d NaN   9   NaN
After adding column 0 and 2 to the dataframe, :
    ab   cd   ef    gh
a  1.0   1   56.0  57.0
b  8.0   2   78.0  86.0
c  7.0   0   32.0  39.0
d  NaN   9   NaN   NaN

コードの解説

  • 必要なライブラリをインポートし、使いやすいようにエイリアス名を付けています。ここでは「pandas」を「pd」としています。

  • キーと値のペアからなる辞書を作成します。ここで値は実際にはSeriesデータ構造になっています。

  • このような辞書の値を複数作成します。

  • 作成した辞書は、後ほど「pandas」ライブラリの「DataFrame」関数にパラメータとして渡されます。

  • 辞書を引数として渡すことで、データフレームが生成されます。

  • 新しい列「gh」をデータフレームに追加します。具体的には、「ab」列と「ef」列の値を足し合わせた結果を新しい列として格納しています。

  • 最後に、データフレームをコンソールに出力して確認します。

ポイント:NaNについて

出力結果に含まれる「NaN」は「Not a Number」の略で、該当する[行, 列]の位置に有効な値が存在しないことを意味します。上記の例では、行「d」には「ab」列と「ef」列の値がないため、それらを加算した「gh」列もNaNになります。

このように、既存の列同士を演算するだけで、簡単に派生列(計算結果の列)をデータフレームに追加できます。売上の合計や平均値の計算など、実務でも頻繁に使われるテクニックなので、ぜひ覚えておきましょう。

  1. TensorFlowとPythonを使ってモデルをトレーニングする方法

    TensorFlowでは、fitメソッドを使ってモデルをトレーニングできます。このメソッドには、エポック数(データセット全体を何回繰り返して学習させるかを示す数値)とトレーニング用データを指定します。実行環境について本記事のコードはGoogle Colaboratory(Google Colab)で実行しています。Google Colabはブラウザ上でPythonコードを実行できるサービスで、面倒な環境構築が不要なうえ、GPU(グラフィックス処理ユニット)を無料で利用できるのが大きな特徴です。ColaboratoryはJupyter Notebookをベースに構築されています。モデルのトレーニ

  2. TensorFlowとPythonを使ってデータセットを視覚化する方法

    ここでは、花のデータセットを使用します。このデータセットは、Googleが提供するAPI経由でダウンロードでき、「get_file」メソッドにAPIのURLを引数として渡すことで、データを開発環境に取得できます。 ダウンロードしたデータは「matplotlib」ライブラリを使って視覚化できます。「imshow」メソッドを使用すると、コンソール上に画像を表示することが可能です。 TensorFlowとKerasの連携 関連記事: TensorFlowとは何か?KerasはどのようにTensorFlowと連携してニューラルネットワークを構築するのか? 本記事ではKeras Sequential