<Python, pandas> カラムを削除する。

列/カラムcolumnを削除deleteする。

delだと思ったてけど、.drop()が使えるらしい。

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]})

In [3]: df
Out[3]: 
   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9

delの場合。

In [4]: df2 = df.copy()

In [7]: del df2['a']

In [8]: df2
Out[8]: 
   b  c
0  4  7
1  5  8
2  6  9

.drop()の場合。

In [9]: df2 = df.copy()

In [10]: df2.drop(['a', 'b'], axis=1)
Out[10]: 
   c
0  7
1  8
2  9

stackoverflow.com

あと、ここ重要。
カラムの番号number orderで削除する場合。
df.columnsでカラムリストlistを取得後、それで削りたいカラムの位置を指定する。

In [49]: df = pd.DataFrame(data=[[1,2,3,4,5]], columns=['a','b','c','d','e'])

In [50]: df
Out[50]: 
   a  b  c  d  e
0  1  2  3  4  5

In [51]: df.drop(df.columns[3], axis=1)
Out[51]: 
   a  b  c  e
0  1  2  3  5

In [57]: df.drop(df.columns[[2,3]], axis=1)
Out[57]: 
   a  b  e
0  1  2  5

In [58]: df
Out[58]: 
   a  b  c  d  e
0  1  2  3  4  5

In [59]: df.drop(df.columns[[2,3]], axis=1, inplace=True)

In [60]: df
Out[60]: 
   a  b  e
0  1  2  5

stackoverflow.com