ホームページ > バックエンド開発 > Python チュートリアル > Pandas で文字列日付を Datetime オブジェクトに変換し、日付範囲でフィルターする方法

Pandas で文字列日付を Datetime オブジェクトに変換し、日付範囲でフィルターする方法

Linda Hamilton
リリース: 2024-12-01 05:27:14
オリジナル
272 人が閲覧しました

How to Convert String Dates to Datetime Objects and Filter by Date Range in Pandas?

Pandas で文字列を日時形式に変換する

問題:

次の Pandas データフレームが与えられたとします。文字列の日付値を含む列の場合、これらの値を日時形式に変換するにはどうすればよいでしょうか?さらに、指定した日付の範囲に基づいて行をフィルタリングするにはどうすればよいですか?

解決策:

日時形式への変換:

Pandas で文字列を日時形式に変換するには、to_datetime 関数を使用します。一般に、パーサーは入力文字列の形式を自動的に決定できるため、明示的な形式指定の必要がなくなります。

import pandas as pd

df = pd.DataFrame({'I_DATE': ['28-03-2012 2:15:00 PM', '28-03-2012 2:17:28 PM', '28-03-2012 2:50:50 PM']})

df['I_DATE'] = pd.to_datetime(df['I_DATE'])
ログイン後にコピー

このコードは、I_DATE 列を日時形式に変換します。出力は次のようになります:

   I_DATE
0 2012-03-28 14:15:00
1 2012-03-28 14:17:28
2 2012-03-28 14:50:50
ログイン後にコピー

日付コンポーネントへのアクセス:

変換後、日付、時刻、日などの個々の日付コンポーネントにアクセスできます。 、dt アクセサーを使用します。例:

# Get the date only
df['I_DATE'].dt.date

# Get the time only
df['I_DATE'].dt.time
ログイン後にコピー

日付範囲に基づいて行をフィルタリング:

日付の範囲に基づいて行をフィルタリングするには、次の構文を使用します:

df[(df['date'] > 'start_date') & (df['date'] < 'end_date')]
ログイン後にコピー

たとえば、日付が「2015-02-04」の間にある行をフィルターするにはおよび '2015-02-10':

df[(df['date'] > '2015-02-04') & (df['date'] < '2015-02-10')]
ログイン後にコピー

以上がPandas で文字列日付を Datetime オブジェクトに変換し、日付範囲でフィルターする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート