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列が削除されます。
複数の列を削除
複数の列を削除する場合は、列の名前をリスト形式で指定します。
# 列 '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)