pandasで行・列を削除する様々な方法

Pandasで行や列を削除するには、dropメソッド等を使用します。以下に基本的な使い方を示します。

列を削除する方法

dropメソッドを使う

特定の列を削除するには、axis=1を指定します。

import pandas as pd

# サンプルのデータフレームを作成
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

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

print(df)

以上のコードを実行すると、画像のようにB列が削除されます。

pandas, 列の削除

複数の列を削除

複数の列を削除する場合は、列の名前をリスト形式で指定します。

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

print(df)

元のデータフレームを変更せずに削除する

dropメソッドのinplace=Trueを指定しないと、元のデータフレームは変更されず、新しいデータフレームが返されます。元のデータフレームを直接変更したい場合は、inplace=Trueを使用します。

# 列 'B' を削除し、元のデータフレームを変更する
df.drop('B', axis=1, inplace=True)

print(df)

del キーワードを使用して列を削除(列のみ)

delキーワードを使用して、特定の列を削除することができます。

import pandas as pd

# サンプルのデータフレームを作成
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

# 列 'B' を削除
del df['B']

print(df)

pop メソッドを使用して列を削除(列のみ)

popメソッドを使用すると、指定した列を削除し、その列のデータを返します。

# 列 'B' を削除して、そのデータを取得
b_column = df.pop('B')

print(b_column)  # 列 'B' のデータが表示されます
print(df)  # 列 'B' が削除されたデータフレームが表示されます

行を削除する

dropメソッドを使って行を削除

特定の行を削除するには、axis=0を指定します(または省略可能)。

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

print(df)

複数の行を削除

複数の行を削除する場合、リストを渡します。

# インデックス 0 と 2 の行を削除
df = df.drop([0, 2], axis=0)

print(df)

インデックススライシングを使用して行を削除(行のみ)

特定の行をスライシングで除外することができます。

# インデックス0の行を除外
df = df[1:]

print(df)

Boolean Indexingを使用して行を削除(行のみ)

条件に基づいて行を削除するために、Boolean Indexingを使用することができます。

# 列 'A' の値が 2 より大きい行のみを残す
df = df[df['A'] > 2]

print(df)

iloc を使用して行を削除(行のみ)

ilocを使用して、行のインデックスを指定して除外することができます。

# 最初の行を除外する
df = df.iloc[1:]

print(df)

loc を使用する(条件付き行削除)

locを使用して、条件に合致しない行を削除することもできます。

# 列 'A' が 1 でない行を残す
df = df.loc[df['A'] != 1]

print(df)
上部へスクロール