dropnaの基本的な使い方

Pandasの dropna メソッドは、データフレームから欠損値(NaN)を持つ行または列を削除するために使用されます。基本的な使い方は以下の通りです。

import pandas as pd

# データフレームの作成
df = pd.DataFrame({
    'A': [1, 2, np.nan],
    'B': [5, np.nan, np.nan],
    'C': [1, 2, 3]
})

# dropnaメソッドの使用
df.dropna()

上記のコードは、データフレームから欠損値を含むすべての行を削除します。結果として得られるデータフレームは以下の通りです。

   A    B  C
0  1.0  5.0  1

dropna メソッドは、デフォルトでは欠損値を含む行を削除しますが、 axis パラメータを使用して欠損値を含む列を削除することも可能です。

df.dropna(axis=1)

このコードは、欠損値を含むすべての列を削除します。結果として得られるデータフレームは以下の通りです。

   C
0  1
1  2
2  3

以上が、Pandasの dropna メソッドの基本的な使い方です。次のセクションでは、特定の列で欠損値を持つ行を削除する方法について説明します。

特定の列で欠損値を持つ行を削除する

Pandasの dropna メソッドは、特定の列で欠損値を持つ行を削除するためにも使用できます。これは subset パラメータを使用して行います。以下にその使い方を示します。

import pandas as pd
import numpy as np

# データフレームの作成
df = pd.DataFrame({
    'A': [1, 2, np.nan],
    'B': [5, np.nan, np.nan],
    'C': [1, 2, 3]
})

# 'A'列で欠損値を持つ行を削除
df.dropna(subset=['A'])

上記のコードは、’A’列で欠損値を持つ行を削除します。結果として得られるデータフレームは以下の通りです。

   A    B  C
0  1.0  5.0  1
1  2.0  NaN  2

このように、 subset パラメータを使用すると、特定の列で欠損値を持つ行を削除することができます。次のセクションでは、複数の列で欠損値を持つ行を削除する方法について説明します。

複数の列で欠損値を持つ行を削除する

Pandasの dropna メソッドは、複数の列で欠損値を持つ行を削除するためにも使用できます。これは subset パラメータに列のリストを渡すことで行います。以下にその使い方を示します。

import pandas as pd
import numpy as np

# データフレームの作成
df = pd.DataFrame({
    'A': [1, 2, np.nan],
    'B': [5, np.nan, np.nan],
    'C': [1, 2, 3]
})

# 'A'と'B'列で欠損値を持つ行を削除
df.dropna(subset=['A', 'B'])

上記のコードは、’A’と’B’の両方の列で欠損値を持つ行を削除します。結果として得られるデータフレームは以下の通りです。

   A    B  C
0  1.0  5.0  1

このように、 subset パラメータに列のリストを渡すことで、複数の列で欠損値を持つ行を削除することができます。次のセクションでは、実践的な例について説明します。

実践的な例

それでは、実際のデータセットを用いて、特定の列で欠損値を持つ行を削除する方法を見てみましょう。ここでは、タイタニック号の乗客データを使用します。

import pandas as pd
import numpy as np

# タイタニック号のデータセットを読み込む
df = pd.read_csv('titanic.csv')

# 'Age'と'Sex'列で欠損値を持つ行を削除
df.dropna(subset=['Age', 'Sex'])

上記のコードは、’Age’と’Sex’の両方の列で欠損値を持つ行を削除します。このように、 dropna メソッドと subset パラメータを使用すると、特定の列で欠損値を持つ行を簡単に削除することができます。

以上が、Pandasの dropna メソッドの使い方と、特定の列で欠損値を持つ行を削除する方法についての説明です。これらの知識を活用して、データ分析の作業をより効率的に進めてください。

投稿者 kitagawa

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です