【完全解説】pandasで行・列を削除する様々な方法

データ分析や機械学習で欠かせないPythonのライブラリ「pandas」は、データの操作や加工が非常に容易です。本記事では、pandasで行・列を削除する様々な方法を初心者にも分かりやすく解説します。データクリーニングや前処理で頻繁に使われるテクニックをマスターしましょう。


1. 行・列を削除する基本的な方法

pandasでは、drop()メソッドを使用して行や列を削除できます。

基本構文:

DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False)
  • labels:削除したい行や列のラベル
  • axis:0は行、1は列を指定
  • inplaceTrueにすると元のDataFrameを変更

2. 特定の行を削除する

例:特定の行を削除

import pandas as pd

# サンプルデータの作成
data = {'名前': ['太郎', '花子', '次郎', '三郎'],
        '年齢': [25, 30, 22, 28]}
df = pd.DataFrame(data)

# インデックス1の行を削除
df_dropped = df.drop(1)

print(df_dropped)

出力:

    名前  年齢
0  太郎  25
2  次郎  22
3  三郎  28

解説:

  • df.drop(1)でインデックスが1の行(花子の行)を削除しています。

3. 特定の列を削除する

例:特定の列を削除

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

print(df_dropped)

出力:

    名前
0  太郎
1  花子
2  次郎
3  三郎

解説:

  • axis=1を指定することで、列を削除しています。

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

例:年齢が25未満の行を削除

# 条件を満たす行を削除
df_dropped = df[df['年齢'] >= 25]

print(df_dropped)

出力:

    名前  年齢
0  太郎  25
1  花子  30
3  三郎  28

解説:

  • df['年齢'] >= 25で年齢が25以上の行を抽出しています。

5. 欠損値を持つ行・列を削除する

例:欠損値を含む行を削除

# 欠損値のあるデータフレームを作成
data = {'名前': ['太郎', '花子', None, '三郎'],
        '年齢': [25, None, 22, 28]}
df = pd.DataFrame(data)

# 欠損値を含む行を削除
df_dropped = df.dropna()

print(df_dropped)

出力:

    名前    年齢
0  太郎  25.0
3  三郎  28.0

解説:

  • dropna()で欠損値を含む行を削除しています。

6. 重複した行を削除する

例:重複行を削除

# 重複を含むデータフレームを作成
data = {'名前': ['太郎', '花子', '太郎', '三郎'],
        '年齢': [25, 30, 25, 28]}
df = pd.DataFrame(data)

# 重複行を削除
df_dropped = df.drop_duplicates()

print(df_dropped)

出力:

    名前  年齢
0  太郎  25
1  花子  30
3  三郎  28

解説:

  • drop_duplicates()で完全に一致する重複行を削除しています。

7. まとめ

pandasで行・列を削除する方法は多岐にわたります。データの前処理やクリーニングで頻繁に使われるため、これらの方法をマスターすることでデータ操作がスムーズになります。

  • 特定の行・列の削除drop()メソッドを使用
  • 条件に基づく行の削除:ブールインデックスを使用
  • 欠損値のある行・列の削除dropna()メソッドを使用
  • 重複行の削除drop_duplicates()メソッドを使用

8. 関連キーワード

  • pandas 行削除
  • pandas 列削除
  • pandas drop
  • pandas dropna
  • pandas 重複削除
  • データ前処理
  • データクリーニング
  • Python データ分析
  • pandas 使い方
  • pandas 基本操作

さらに学ぶ


ご注意:本記事は情報提供を目的としており、特定の行動を推奨するものではありません。実際のデータ分析においては、データの性質や目的に応じて適切な方法を選択してください。

トップに戻る

上部へスクロール