Pythonのデータ分析ライブラリ Pandas は、多くのデータサイエンティストやエンジニアに愛用されています。
その中でも dropメソッド は、データフレームから特定の行や列を削除するための重要なメソッドです。
しかし、dropの使い方は単純に見えて、意外と奥が深い部分もあります。
本記事では、Pandasのdropメソッドを使いこなすための知識と、よくあるエラーやトラブルの回避法について詳しく解説します。
Pandasのdropとは?
Pandasのdropメソッドは、データフレームから不要な行や列を削除するために使用します。データ分析において、不要なデータが含まれていると分析結果に影響が出ることがあるため、このメソッドは頻繁に使用されます。
例えば、重複したデータや空の列、特定のインデックスが不要な場合にdropを活用します。
基本的なdropの使い方
列を削除する
import pandas as pd
# サンプルデータ
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [24, 27, 22],
'City': ['New York', 'San Francisco', 'Los Angeles']
})
# 'City'列を削除
df_dropped = df.drop('City', axis=1)
# 出力
print(df_dropped)


ここでのポイントは、axis=1は列方向を示すという点です!
axis=0は行方向を意味します!
行を削除する
import pandas as pd
# サンプルデータ
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [24, 27, 22],
'City': ['New York', 'San Francisco', 'Los Angeles']
})
# インデックス1の行を削除
df_dropped = df.drop(1, axis=0)
# 出力
print(df_dropped)


行の削除では、削除したい行のインデックスを指定します!
axis=0がデフォルト値なので、省略も可能です!
inplace引数の活用
dropメソッドでは、inplace=True という引数を使用すると、元のデータフレームが直接変更されます。
通常、dropメソッドは新しいデータフレームを返しますが、inplace=Trueを指定すると、元のデータフレームを上書きして変更します。
import pandas as pd
# サンプルデータ
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [24, 27, 22],
'City': ['New York', 'San Francisco', 'Los Angeles']
})
# 'Age'列を元のデータフレームから削除
df.drop('Age', axis=1, inplace=True) # 変数を入れ替える必要なし
# 出力
print(df)

errors引数でエラーを回避
dropメソッドを使う際、指定した行や列が存在しない場合はエラーが発生します。しかし、errors=’ignore’ を指定することで、エラーを無視して処理を続行できます。
import pandas as pd
# サンプルデータ
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [24, 27, 22],
'City': ['New York', 'San Francisco', 'Los Angeles']
})
# 存在しない列を削除しようとする
df.drop('Gender', axis=1, errors='ignore', inplace=True)
# 出力
print(df)


この場合、エラーは発生せず、元のデータフレームがそのまま表示されます!
複数の列や行を削除する
複数の列や行を削除したい場合は、リストとして指定します。
import pandas as pd
# サンプルデータ作成
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [24, 27, 22],
'City': ['New York', 'San Francisco', 'Los Angeles']
})
# 'Name'と'City'の列を削除
df_dropped = df.drop(['Name', 'City'], axis=1)
# 出力
print(df_dropped)

まとめ:dropメソッドを使いこなそう
Pandasのdropメソッドは、データのクリーニングや前処理に欠かせないツールです。
基本的な使い方から、エラー回避のためのオプションまで理解しておくと、データ操作がよりスムーズになります。
ぜひこの記事を参考に、dropメソッドを活用してみてください!
コメント