LoginSignup
0
0

More than 1 year has passed since last update.

Pandas: データフレームについて--04: 行,列の削除

Last updated at Posted at 2022-06-20

行や列を削除する .drop()

drop(labels=None, axis: 'Axis' = 0, index=None, columns=None,
    level: 'Level | None' = None, inplace: 'bool' = False,
    errors: 'str' = 'raise')

pandas 0.21.1 以降では labelsaxis で指定していたものが index, columns で指定できるようになった。

新しいバージョンをインストールして,index, columns を使おう。

import pandas as pd
df = pd.DataFrame({
    'a': [1, 2, 3, 4, 5],
    'b': [1.2, 3.4, 5.6, 7.8, 9.0],
    'c': ['A', 'B', 'C', 'D', 'E']
})
df
a b c
0 1 1.2 A
1 2 3.4 B
2 3 5.6 C
3 4 7.8 D
4 5 9.0 E

1. 列を削除する

drop(labels=列名, axis=1)
drop(columns=列名)

df.drop(labels='a', axis=1)
b c
0 1.2 A
1 3.4 B
2 5.6 C
3 7.8 D
4 9.0 E
df.drop(columns='a')
b c
0 1.2 A
1 3.4 B
2 5.6 C
3 7.8 D
4 9.0 E

複数列を削除する場合には,リストで指定する。

df.drop(labels=['a', 'b'], axis=1)
c
0 A
1 B
2 C
3 D
4 E
df.drop(columns=['a', 'b'])
c
0 A
1 B
2 C
3 D
4 E

2. 行を削除する

drop(labels=インデックス, axis=0)
drop(index=インデックス,)

df.drop(labels=4, axis=0)
a b c
0 1 1.2 A
1 2 3.4 B
2 3 5.6 C
3 4 7.8 D
df.drop(index=4)
a b c
0 1 1.2 A
1 2 3.4 B
2 3 5.6 C
3 4 7.8 D

複数行を削除する場合には,リストで指定する。

df.drop(labels=[0, 2, 4], axis=0)
a b c
1 2 3.4 B
3 4 7.8 D
df.drop(index=[0, 2, 4])
a b c
1 2 3.4 B
3 4 7.8 D

3. 行と列を同時に削除する

indexcolumns を同時に使用することができる。

df.drop(index=[0, 2, 4], columns='c')
a b
1 2 3.4
3 4 7.8

4. もっと知りたい人

help(df.drop) # Help on method drop in module pandas.core.frame
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0