pandasのdropnaメソッドを使ってリストからNaNを削除する

dropnaメソッドの基本

pandasのdropnaメソッドは、データフレームやシリーズから欠損値(NaN)を削除するためのメソッドです。具体的には以下のように使用します。

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]
})

# dropnaメソッドを使用してNaNを削除
df = df.dropna()

このコードを実行すると、’A’と’B’の列にあるNaNが削除され、以下のようなデータフレームが得られます。

   A    B  C
0  1.0  5.0  1

dropnaメソッドはデフォルトでNaNが含まれる行を削除しますが、引数にaxis=1を指定することでNaNが含まれる列を削除することも可能です。また、how='all'を指定すると、すべてのデータがNaNである行または列を削除します。

以上がpandasのdropnaメソッドの基本的な使い方です。次のセクションでは、具体的な使用例を見ていきましょう。

dropnaの使用例

それでは、pandasのdropnaメソッドの具体的な使用例を見ていきましょう。

import pandas as pd
import numpy as np

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

print("Original DataFrame:")
print(df)

# dropnaメソッドを使用してNaNを削除
df_dropped = df.dropna()

print("\nDataFrame after dropna:")
print(df_dropped)

このコードを実行すると、以下のような出力が得られます。

Original DataFrame:
     A    B  C
0  1.0  5.0  1
1  2.0  NaN  2
2  NaN  NaN  3
3  4.0  8.0  4
4  5.0  9.0  5

DataFrame after dropna:
     A    B  C
0  1.0  5.0  1
3  4.0  8.0  4
4  5.0  9.0  5

この例では、dropnaメソッドを使用してNaNが含まれる行を削除しました。その結果、元のデータフレームから2行目と3行目が削除され、新しいデータフレームが生成されました。

以上がpandasのdropnaメソッドの使用例です。次のセクションでは、dropnaメソッドのオプションとその使用方法について詳しく見ていきましょう。

dropnaのオプションとその使用方法

pandasのdropnaメソッドは、いくつかのオプションを持っており、それらを使うことで欠損値の削除の挙動を細かく制御することができます。以下に、主なオプションとその使用方法を示します。

axisオプション

axisオプションを使うと、欠損値を含む行を削除するか、欠損値を含む列を削除するかを選択できます。デフォルトはaxis=0で、これは欠損値を含む行を削除します。axis=1を指定すると、欠損値を含む列を削除します。

df = df.dropna(axis=1)

howオプション

howオプションを使うと、行または列を削除する条件を指定できます。how='any'を指定すると(これがデフォルトです)、NaNが一つでも含まれている行または列を削除します。how='all'を指定すると、すべてのデータがNaNである行または列を削除します。

df = df.dropna(how='all')

subsetオプション

subsetオプションを使うと、特定の列にNaNが含まれている行だけを削除することができます。subsetには列のラベルのリストを指定します。

df = df.dropna(subset=['A', 'B'])

以上がpandasのdropnaメソッドの主なオプションとその使用方法です。これらのオプションを使うことで、より柔軟に欠損値の削除を行うことができます。

投稿者 karaza

コメントを残す

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