行や列を削除する .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 以降では labels
と axis
で指定していたものが 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 |
|
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)
df.drop(columns=['a', 'b'])
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 |
|
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 |
|
a |
b |
c |
1 |
2 |
3.4 |
B |
3 |
4 |
7.8 |
D |
3. 行と列を同時に削除する
index
と columns
を同時に使用することができる。
df.drop(index=[0, 2, 4], columns='c')
4. もっと知りたい人
help(df.drop) # Help on method drop in module pandas.core.frame