DataFrameから特定の列を削除する方法

DataFrameを扱っている際、特定の列(カラム)を削除したくなることがある。こんなとき、次のように実行すると無駄にメモリを消費してしまうことになる。

df = df.drop('hoge', axis=1)


これは、dfから'hoge'列を削除したDataFrameを1度作り、それを既存のdfに代入するという、多重構造となっている。中間生成的にコピーされるDataFrameが、メモリを圧迫してしまう。

そこで、"inplace"引数をTrueに指定することで、コピーが返されるのではなく、もとのDataFrameに変更が上書きされる。

df.drop('hoge', axis=1, inplace=True)


もちろん、複数のカラムを一気に削除することもできる。

df.drop(['hoge', 'hogehoge', 'fuga'], axis=1, inplace=True)



コメントを投稿

0 コメント