データ分析や機械学習で欠かせないPythonのライブラリ「pandas」は、データの操作や加工が非常に容易です。本記事では、pandasで行・列を削除する様々な方法を初心者にも分かりやすく解説します。データクリーニングや前処理で頻繁に使われるテクニックをマスターしましょう。
1. 行・列を削除する基本的な方法
pandasでは、drop()
メソッドを使用して行や列を削除できます。
基本構文:
DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False)
labels
:削除したい行や列のラベルaxis
:0は行、1は列を指定inplace
:True
にすると元の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 基本操作
さらに学ぶ
ご注意:本記事は情報提供を目的としており、特定の行動を推奨するものではありません。実際のデータ分析においては、データの性質や目的に応じて適切な方法を選択してください。