pandas 行や列の削除 – df.drop()

投稿者: | 2021-12-12

目次

行を削除(行名で指定)

df.drop('行名')
df.drop(‘行名’, axis=0)
df.drop(index='行名')
df.drop(index=['行名1', '行名2'])
# 「index=」(または「,axis=0」)は省略可

行を削除(行番で指定)

  • ただし、その列番号がないと削除できない
  • 例)その直前にdropして見た目上0行がない場合
  • その場合、reset_index(drop=True)などでインデックスを振りなおしてから削除可能
df.drop(df.index[0])
df.drop(index=df.index[0])
df.drop(index=df.index[[0,1]])
df.drop(index=df.index[0:3])
df.drop(index=df.index[-4:]) # 末尾4行を削除

よりシンプルに書くと以下でもよい
df.drop(0)
df.drop(range(2))
df.drop(range(1, 3))

列を削除(列名で指定)

df.drop(columns='列名')
df.drop(‘列名’, axis=1)
df.drop(columns=['列名1', '列名2'])

列を削除(列番で指定)

df.drop(columns=df.columns[0])
df.drop(columns=df.columns[[0,2]])
df.drop(columns=df.columns[0:4])

行と列を同時に削除

df.drop(index=df.index[[0,2]],
        columns=df.columns[[1,4]])