Pandasでの欠損値処理と数値の丸め込み

Pandasのfillna関数の概要

Pandasのfillna関数は、データフレーム内の欠損値(NaN)を指定した値や方法で補完するための関数です。この関数は、データ分析において欠損値の取り扱いが重要となる場面で頻繁に使用されます。

基本的な使用方法は以下の通りです:

df.fillna(value)

ここで、dfはデータフレームを、valueは欠損値を置き換える値を指定します。valueにはスカラー値を指定することも、ディクショナリやシリーズ、データフレームを指定することも可能です。これにより、列ごとに異なる値や方法で欠損値を補完することができます。

また、fillna関数には他にも様々なオプションがあり、欠損値の補完方法を柔軟に指定することが可能です。具体的な使用例や詳細なオプションについては、次の小見出しで説明します。

fillna関数の使用例

以下に、Pandasのfillna関数の基本的な使用例を示します。

まず、欠損値を含むデータフレームを作成します。

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'A': [1, 2, np.nan, 4],
    'B': [5, np.nan, np.nan, 8],
    'C': [9, 10, 11, 12]
})

このデータフレームは以下のようになります。

     A    B   C
0  1.0  5.0   9
1  2.0  NaN  10
2  NaN  NaN  11
3  4.0  8.0  12

次に、fillna関数を使用して欠損値を0で補完します。

df.fillna(0)

これにより、データフレームは以下のようになります。

     A    B   C
0  1.0  5.0   9
1  2.0  0.0  10
2  0.0  0.0  11
3  4.0  8.0  12

また、fillna関数にディクショナリを渡すことで、列ごとに異なる値で欠損値を補完することも可能です。

df.fillna({'A': 0, 'B': 1, 'C': 2})

これにより、データフレームは以下のようになります。

     A    B   C
0  1.0  5.0   9
1  2.0  1.0  10
2  0.0  1.0  11
3  4.0  8.0  12

以上が、Pandasのfillna関数の基本的な使用例です。次の小見出しでは、数値の丸め込みについて説明します。

数値の丸め込みについて

数値の丸め込みは、特定の精度まで数値を近似するプロセスです。Pythonでは、round関数を使用して数値を丸めることができます。この関数は、指定した桁数まで数値を丸めます。

基本的な使用方法は以下の通りです:

round(number, ndigits)

ここで、numberは丸める数値を、ndigitsは丸める桁数を指定します。ndigitsが正の場合、小数点以下の桁数を指定します。ndigitsが負の場合、小数点以上の桁数を指定します。

例えば、以下のように使用します:

round(123.456, 2)  # 123.46
round(123.456, -1)  # 120.0

Pandasのデータフレームに対しても、round関数を使用して数値を丸めることができます。この場合、データフレームの各要素に対して丸めが適用されます。

具体的な使用例については、次の小見出しで説明します。

丸め込み関数の使用例

以下に、Pandasのデータフレームに対するround関数の基本的な使用例を示します。

まず、以下のようなデータフレームを作成します。

df = pd.DataFrame({
    'A': [1.123, 2.456, 3.789],
    'B': [4.123, 5.456, 6.789],
    'C': [7.123, 8.456, 9.789]
})

このデータフレームは以下のようになります。

       A      B      C
0  1.123  4.123  7.123
1  2.456  5.456  8.456
2  3.789  6.789  9.789

次に、round関数を使用して各数値を小数点以下2桁まで丸めます。

df.round(2)

これにより、データフレームは以下のようになります。

      A     B     C
0  1.12  4.12  7.12
1  2.46  5.46  8.46
2  3.79  6.79  9.79

また、round関数にディクショナリを渡すことで、列ごとに異なる桁数で数値を丸めることも可能です。

df.round({'A': 1, 'B': 0, 'C': 2})

これにより、データフレームは以下のようになります。

     A    B     C
0  1.1  4.0  7.12
1  2.5  5.0  8.46
2  3.8  7.0  9.79

以上が、Pandasのround関数の基本的な使用例です。次の小見出しでは、fillnaと丸め込みを組み合わせた使用例について説明します。

fillnaと丸め込みを組み合わせた使用例

Pandasのfillna関数とround関数を組み合わせることで、欠損値の補完と数値の丸め込みを同時に行うことができます。以下に、その使用例を示します。

まず、以下のような欠損値と小数を含むデータフレームを作成します。

df = pd.DataFrame({
    'A': [1.123, np.nan, 3.789],
    'B': [4.123, 5.456, np.nan],
    'C': [7.123, 8.456, 9.789]
})

このデータフレームは以下のようになります。

       A      B      C
0  1.123  4.123  7.123
1    NaN  5.456  8.456
2  3.789    NaN  9.789

次に、fillna関数を使用して欠損値を0で補完し、その後でround関数を使用して各数値を小数点以下2桁まで丸めます。

df.fillna(0).round(2)

これにより、データフレームは以下のようになります。

      A     B     C
0  1.12  4.12  7.12
1  0.00  5.46  8.46
2  3.79  0.00  9.79

以上が、Pandasのfillna関数とround関数を組み合わせた使用例です。このように、Pandasの関数を組み合わせることで、複雑なデータ処理を効率的に行うことができます。次の小見出しでは、さらなる応用例について説明します。この記事がPandasの理解と使用に役立つことを願っています。それでは、次回の記事でお会いしましょう!

投稿者 karaza

コメントを残す

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