【Pandas】DataFrameにカラムを追加・削除する方法

Pandas
この記事は約6分で読めます。

こんにちは、JS2IIUです。

DataFrameを扱う際にはカラムの操作をすることが非常に多いです。Pandasではシンプルな書き方でカラムの操作をスマート実行できるので、データ解析の作業効率がUPできます。今回もよろしくお願いします。

はじめに

Pandasは、Pythonでデータ処理を行う際に非常に便利なライブラリです。データ分析や機械学習の前処理など、あらゆる場面で活用されています。本記事では、PandasのDataFrameにカラムを追加したり削除したりする方法を紹介します。

この知識は、例えば以下のような場面で役立ちます:

  • データセットに新しい情報を計算して追加する場合
  • 不要なカラムを削除してデータを整理する場合
  • カラム操作の際にエラーを避けるために正しいパラメータを理解する場合

具体的な操作方法やサンプルコードを通して、データ加工のスキルを深めましょう。

新しいカラムの追加方法

1. 計算結果を使ったカラムの追加

計算結果を新しいカラムとして追加する場合、既存のカラムを基に演算を行います。

import pandas as pd

# サンプルデータ
data = {
    'name': ['Alice', 'Bob', 'Charlie'],
    'math_score': [85, 90, 95],
    'english_score': [80, 88, 92]
}
df = pd.DataFrame(data)

# 新しいカラムを追加(平均スコアを計算)
df['average_score'] = (df['math_score'] + df['english_score']) / 2

print(df)

実行結果

      name  math_score  english_score  average_score
0    Alice          85             80          82.5
1      Bob          90             88          89.0
2  Charlie          95             92          93.5

2. 条件を使ったカラムの追加

条件分岐に基づいて新しいカラムを作成する方法です。

# 条件を使ったカラムの追加
df['pass'] = df['average_score'] >= 85

print(df)

実行結果

      name  math_score  english_score  average_score   pass
0    Alice          85             80          82.5  False
1      Bob          90             88          89.0   True
2  Charlie          95             92          93.5   True

カラム削除方法:.dropメソッド

DataFrameからカラムを削除するには、.dropメソッドを使用します。このメソッドは、指定したカラムや行を削除するために使われます。

1. カラム削除

以下は、カラムを削除する例です。

# 'pass'カラムを削除
df = df.drop('pass', axis=1)

print(df)

実行結果

      name  math_score  english_score  average_score
0    Alice          85             80          82.5
1      Bob          90             88          89.0
2  Charlie          95             92          93.5

2. 行削除との違い

.dropメソッドのaxisパラメータは、削除対象が「行」か「カラム」かを指定します:

  • axis=0(デフォルト):行を削除
  • axis=1:カラムを削除

以下のコードで確認してみましょう。

# 行を削除
df_row_deleted = df.drop(0, axis=0)  # 0番目の行を削除
print(df_row_deleted)

実行結果

      name  math_score  english_score  average_score
1      Bob          90             88          89.0
2  Charlie          95             92          93.5

axisパラメータの理解

axisは、Pandasでの操作方向を指定する重要なパラメータです。

  • axis=0:操作対象が「行」方向(垂直)
  • axis=1:操作対象が「列」方向(水平)

例えば、.sum()メソッドを使った場合の挙動を見てみましょう。

# 各カラムの合計を計算
print(df.sum(axis=0))  # 列方向(カラムごとの合計)

# 各行の合計を計算、nameの文字列が入っていると合計できないので列削除する
df = df.drop('name', axis=1)
print(df.sum(axis=1))  # 行方向(行ごとの合計)

実行結果

列方向の合計:

name             AliceBobCharlie
math_score                   270
english_score                260
average_score               265.0
dtype: object

行方向の合計:

0    247.5
1    267.0
2    282.5
dtype: float64

おわりに

本記事では、PandasのDataFrameにおけるカラムの追加・削除方法とaxisパラメータの使い方を詳しく解説しました。カラムの操作はデータ加工の基本的なスキルであり、さまざまな場面で役立ちます。ぜひ実際のプロジェクトで試してみてください。

参考リンク

少しだけPRです。

Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。

最後まで読んでいただきありがとうございます。73

コメント

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