解決済み: 生年月日列をパンダの年齢に変換する

今日の世界では、データ分析の重要性がますます高まっており、データ アナリストやデータ サイエンティストが使用する最も人気のあるツールの XNUMX つは、pandas ライブラリを使用した Python です。 Pandas は、データ構造と系列を簡単に操作できる、強力なオープンソースのデータ分析および操作ツールです。 ユーザーが遭遇する一般的な問題の XNUMX つは、より正確で実用的な分析のために生年月日を年齢に変換することです。 この記事では、コード実装の明確な例と説明を使用して、この問題に取り組む方法を詳しく説明します。

Pandas は、多くの場合、DateTime オブジェクトの操作を伴う多用途のツールです。これは、生年月日を扱う場合に当てはまります。 生年月日を年齢に変換する最初のステップでは、DateTime ライブラリを使用した簡単な計算が必要です。 これにより、生年月日と現在の日付の差を計算することで、個人の年齢を見つけることができます。.

必要なライブラリをインポートすることから始めましょう。

import pandas as pd
from datetime import datetime

次に、個人に関する次のデータを含む単純なデータセットを考えます。

data = {'Name': ['John', 'Paul', 'George', 'Ringo'],
        'Birth_Date': ['1940-10-09', '1942-06-18', '1943-02-25', '1940-07-07']
       }

df = pd.DataFrame(data)
df['Birth_Date'] = pd.to_datetime(df['Birth_Date'])

上記のコードでは、「Birth_Date」列を DateTime オブジェクトに変換しています。

年齢の計算

これで、生年月日と現在の日付の差を見つけることで、これらの個人の年齢を計算する準備が整いました。 これを行うには、次の手順を実行します。

1.生年月日を入力として受け取り、その人の年齢を返す「calculate_age」という関数を作成します。
2. この関数を DataFrame の「Birth_Date」列に適用します。

上記のロジックを実装するコードは次のとおりです。

def calculate_age(birth_date):
    today = datetime.now()
    age = today.year - birth_date.year - ((today.month, today.day) <
                                          (birth_date.month, birth_date.day))
    return age

df['Age'] = df['Birth_Date'].apply(calculate_age)

このコード スニペットでは、「calculate_age」という関数を作成しました。この関数は、生年月日を入力として受け取り、datetime.now() を使用して現在の日付を計算し、現在の年から生年を引いてその人の年齢を計算します。 もし彼らの 今年は生年月日が発生していません、追加の年を差し引きます。

最後に、apply() メソッドを使用してこの関数を「Birth_Date」列に適用し、計算された年齢を DataFrame の新しい「Age」列に格納します。

年齢計算に Numpy と Pandas を使用する

または、このタスクのために、強力な numpy ライブラリを pandas と組み合わせて利用することもできます。 numpy を使用して生年月日を年齢に変換するには、次の手順に従います。

1. numpy ライブラリをインポートします。
2. numpy 'floor' 関数を使用して年齢を計算します。

これを行う方法の例を次に示します。

import numpy as np

df['Age'] = np.floor((datetime.now() - df['Birth_Date']).dt.days / 365.25)

このコードは、numpy の「floor」関数を使用して、浮動小数点の除算結果を切り捨てます。 日数 生年月日から 365.25 日まで (閏年を考慮)。

要約すると、pandas と datetime、または pandas と numpy などのライブラリを活用することで、生年月日の列をデータセット内の年齢にシームレスに変換できます。 説明されている手順に従い、この記事で提供されているコードを理解することで、そのようなデータを操作し、より効率的で正確な分析を実行するための知識が身に付きます。

関連記事:

コメント