Python, Pandasで行番号を指定して削除したいときは、df = df.drop(n)で行います。csvの先頭行を削除したい…、NaN判定して削除したい…ときに便利です。
列順位を指定して削除したいときは、df = df.drop(df.columns[n], axis=1)で行います。axis=1で対象が「列」であることをTrueとして認識させています。
もくじ
Pandasの行 削除 df.drop(n)
データフレームから特定の行を削除するときは、行番号を指定します。例: df.drop(0)
複数の行番号を指定して削除するときは、リストで指定できます。例: df.drop([0, 1, 2])
# A B C
# 0
# 1
# 2
df = df.drop(0)
print(df)
# A B C
# 1
# 2
df = df.drop(0)
print(df)
# KeyError: '[0] not found in axis'
## 0行番目がすでに無いのでエラーが出ます。
繰り返し 行 削除するときは? df.drop(df.index[n])
繰り返して、再帰的に削除できます。index[n]で指定するのは [行番号]ではなく、そのときの[行順位]だからです。
# A B C
# 0
# 1
# 2
df = df.drop(df.index[0])
print(df)
# A B C
# 1
# 2
df = df.drop(df.index[0])
print(df)
# A B C
# 2
Pandasの列 削除 df.drop(df.columns[n], axis=1)
繰り返して、再帰的に処理できます。columns[n]で指定するのは[列番号]ではなく、そのときの[列順位]だからです。
# A B C
# 0
# 1
# 2
df = df.drop(df.columns[0], axis=1)
print(df)
# B C
# 0
# 1
# 2
df = df.drop(df.columns[0], axis=1)
print(df)
# C
# 0
# 1
# 2