【pandas】指定列にNanを含む行だけ削除(dropnaオプション)

スポンサーリンク
python Python

Python コード

df2 = df.dropna(subset=['b', 'c', 'd', 'e'])

subsetにnanがあるか確認したい列名を入れることで全列対象ではなく列指定での確認にすることができます。

サンプル

# このようなデータフレームがある場合に、
-----
	a	b	c	d	e
0	NaN	1	1	1.0	1
1	NaN	2	2	2.0	2
2	NaN	3	3	NaN	3
3	NaN	4	4	4.0	4
-----

# 以下を実行すると、a列全てにNanが入っているため全ての行が消えます。
df.dropna()
-----
	a	b	c	d	e
-----

# しかし、subsetで'b', 'c', 'd', 'e'を指定すると、a列は無視され、d列にNanを含む3列目(index=2)が削除されます。
df.dropna(subset=['b', 'c', 'd', 'e'])
-----
	a	b	c	d	e
0	NaN	1	1	1.0	1
1	NaN	2	2	2.0	2
3	NaN	4	4	4.0	4
-----

それでは!

コメント

タイトルとURLをコピーしました