列を元のデータフレームからドロップして新しいデータフレームとする方がピックアップして作るより多いと思います。この例では14列程度の小さなデータフレームなので、その気になれば一から組み立てることもできますが、実際の解析では、500以上の列というのはザラです。 そんな時、10程度の列をドロップしてNaNを完全になくしたデータフレームを作成するには、やはりdrop
メソッドを使うことが多いと思います。 それなのに、忘れてしまいがちな構文です。
1
2
3
4
5
6
7
8
9
10
11
12
# 元のデータフレームから5つの任意の列をドロップする
print('before', df.shape)
to_drop = ['PY_01',
'PY_04',
'PY_08',
'PY_09',
'PY_10']
df.drop(to_drop, inplace=True, axis=1)
print('after', df.shape)
inplace=True
でオブジェクトそのものに変更を加える。 そしてカラムに対して行うというコーディングです。
また、以下で同じことです。この場合は、ドロップした結果をdfに再度、代入しています。
1
2
3
print('before', df.shape)
df = df.drop(columns=['PY_01', 'PY_04','PY_08', 'PY_09', 'PY_10'])
print('after', df.shape)
df.head()
中身は以下のとおりでした。