スポンサーリンク

【Python】Pandas データフレームの列・行削除 drop

記事内に広告が含まれています。

Pandasのdropメソッドを使用すると、データフレームから指定した行または列を削除できます。

以下に使い方の詳細を説明します。

スポンサーリンク

行を削除する

行を削除する場合、axis=0を指定します(デフォルト)。

構文

df.drop(labels, axis=0, inplace=False)
  • labels
    削除する行ラベル(インデックス)。
  • axis
    行の場合は0(省略可能)。
  • inplace
    Trueの場合、元のデータフレームを直接変更。

import pandas as pd

# サンプルデータフレーム
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])

# 'row2'を削除
df_dropped = df.drop('row2')
print(df_dropped)

出力

        A  B
row1    1  4
row3    3  6
スポンサーリンク

列を削除する

列を削除する場合、axis=1を指定します。

構文

df.drop(labels, axis=1, inplace=False)

# 'B'列を削除
df_dropped = df.drop('B', axis=1)
print(df_dropped)

出力

        A
row1 1
row2 2
row3 3

複数の行または列を削除する

リストで指定することで、複数の行や列を削除できます。

複数行の削除

# 'row1'と'row3'を削除
df_dropped = df.drop(['row1', 'row3'])
print(df_dropped)

出力

        A  B
row2    2  5

複数列の削除

# 'A'と'B'列を削除
df_dropped = df.drop(['A', 'B'], axis=1)
print(df_dropped)

出力

Empty DataFrame
Columns: []
Index: [row1, row2, row3]

元のデータフレームを変更する

inplace=Trueを指定すると、元のデータフレームが直接変更されます。

df.drop('row2', inplace=True)
print(df)

出力:

        A  B
row1    1  4
row3    3  6

エラーを避ける(存在しないラベルを無視)

削除対象が存在しない場合、errors='ignore'を指定するとエラーを避けられます。

# 存在しない行を無視
df_dropped = df.drop('row4', errors='ignore')
print(df_dropped)

条件に基づいて行を削除する

条件に一致する行を削除するには、dropメソッドではなくlocやフィルタリングを使います。

# 列'A'が2以上の行を削除
df_filtered = df[df['A'] < 2]
print(df_filtered)

出力

        A  B
row1    1  4

まとめ

  • 行を削除: drop('ラベル', axis=0)
  • 列を削除: drop('ラベル', axis=1)
  • 複数削除: ラベルをリストで指定
  • 元データを変更: inplace=True
  • 存在しないラベルのエラー回避: errors='ignore'
スポンサーリンク
Python
著者SNS
タイトルとURLをコピーしました