<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
あと、ここ重要。
カラムの番号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