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

【Python・Pandas】既存の列からデータフレームに新しい列を作成する方法

Pandasのデータフレームに新しい列を追加する操作は、データ分析において非常によく使われる基本テクニックです。この記事では、すでに存在する列を利用して新しい列を作成する方法を、具体的なコード例と実行結果とともにわかりやすく解説します。

1. CSVファイルを読み込んでデータフレームを作成する

まずは、read_csv()メソッドを使ってCSVファイルを読み込み、データフレームを作成しましょう。

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")

2. 既存の列から新しい列を作成する

次に、既存の列「Reg_Price」の各値に100を加算した値を持つ、新しい列「New_Reg_Price」を作成します。Pandasでは、存在しない列名を指定して代入するだけで、自動的に新しい列が追加される仕組みになっています。

dataFrame['New_Reg_Price'] = (dataFrame['Reg_Price'] + 100)

完全なコード例

以下に、一連の処理をまとめたコード全体を示します。

import pandas as pd

# CSVファイルを読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")
print("DataFrame...\n", dataFrame)

# データフレームの行数と列数を確認
print("\nNumber of rows and column in our DataFrame = ", dataFrame.shape)

# 既存の列「Reg_Price」に100を加算して新しい列を作成
dataFrame['New_Reg_Price'] = (dataFrame['Reg_Price'] + 100)

print("Updated DataFrame with a new column...\n", dataFrame)

print("\n[Updated] Number of rows and column in our DataFrame = ", dataFrame.shape)

実行結果

上記のコードを実行すると、次のような出力が得られます。

DataFrame...
         Car   Date_of_Purchase   Reg_Price
0        BMW        10/10/2020        1000
1      Lexus        10/12/2020         750
2       Audi        10/17/2020         750
3     Jaguar        10/16/2020        1500
4    Mustang        10/19/2020        1100
5 Lamborghini        10/22/2020        1000

Number of rows and column in our DataFrame = (6, 3)
Updated DataFrame with a new column ...
         Car   Date_of_Purchase   Reg_Price   New_Reg_Price
0        BMW        10/10/2020        1000            1100
1      Lexus        10/12/2020         750             850
2       Audi        10/17/2020         750             850
3     Jaguar        10/16/2020        1500            1600
4    Mustang        10/19/2020        1100            1200
5 Lamborghini        10/22/2020        1000            1100

(Updated)Number of rows and column in our DataFrame = (6, 4)

ポイント解説

このコードで押さえておきたい重要なポイントは以下の3つです。

  • 列の追加は代入だけで完結:存在しない列名に対して値を代入すると、Pandasが自動的にその列を作成します。特別なメソッドは不要です。
  • ベクトル化された演算dataFrame['Reg_Price'] + 100のように記述することで、すべての行に対して一括で計算が適用されます。forループを回す必要はありません。
  • shapeによる確認:列を追加する前後でshapeを出力すると、列数が3から4に増えていることが確認できます。

この手法は、消費税の加算や単位の変換など、既存データをもとに派生列を生成したい場面で幅広く活用できます。ぜひ実際のデータ分析でも試してみてください。

  1. Python Pandas入門:元のインデックスからDataFrameを作成し、新しいインデックスを適用する方法

    Pandasでは、既存のインデックス(Indexオブジェクト)をもとにDataFrameを作成しつつ、新しいインデックスを適用することができます。これを実現するには、to_frame()メソッドを使用し、パラメータindexをFalseに設定します。 必要なライブラリのインポート まず、pandasをインポートします。 import pandas as pd Pandasインデックスの作成 次に、商品名を含むPandasのインデックスを作成します。name引数でインデックスに「Products」という名前を付けています。 index = pd.Index([Electronics,Access

  2. Python Pandasで横棒グラフを作成する方法

    Pandasで横棒グラフを描画するには、pandas.DataFrame.plot.barhを使用します。棒グラフは、離散的なカテゴリ同士を比較する際に非常に有効な可視化手法であり、特にカテゴリ名が長い場合には、縦棒グラフよりも横棒グラフの方が読みやすくなります。必要なライブラリのインポートまず、データ操作用のpandasと、グラフ描画用のmatplotlib.pyplotをインポートします。import pandas as pd import matplotlib.pyplot as pltDataFrameの作成次に、4つの列(車種、排気量、登録価格、販売台数)を持つPandas Data