【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に増えていることが確認できます。
この手法は、消費税の加算や単位の変換など、既存データをもとに派生列を生成したい場面で幅広く活用できます。ぜひ実際のデータ分析でも試してみてください。
-
Python Pandas入門:元のインデックスからDataFrameを作成し、新しいインデックスを適用する方法
Pandasでは、既存のインデックス(Indexオブジェクト)をもとにDataFrameを作成しつつ、新しいインデックスを適用することができます。これを実現するには、to_frame()メソッドを使用し、パラメータindexをFalseに設定します。 必要なライブラリのインポート まず、pandasをインポートします。 import pandas as pd Pandasインデックスの作成 次に、商品名を含むPandasのインデックスを作成します。name引数でインデックスに「Products」という名前を付けています。 index = pd.Index([Electronics,Access
-
Python Pandasで横棒グラフを作成する方法
Pandasで横棒グラフを描画するには、pandas.DataFrame.plot.barhを使用します。棒グラフは、離散的なカテゴリ同士を比較する際に非常に有効な可視化手法であり、特にカテゴリ名が長い場合には、縦棒グラフよりも横棒グラフの方が読みやすくなります。必要なライブラリのインポートまず、データ操作用のpandasと、グラフ描画用のmatplotlib.pyplotをインポートします。import pandas as pd import matplotlib.pyplot as pltDataFrameの作成次に、4つの列(車種、排気量、登録価格、販売台数)を持つPandas Data