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 コメント