【解決方法】Pd.to_datetime() が異なる日付形式の列で機能しない


データフレームがトラバースされるプログラムを作成しました。「Date」という名前の列が検出された場合、その列の下のすべての行は、言及された形式で「pd.to_datetime」を使用して「datetime」オブジェクトに変換されるはずです。 しかし、この方法は私にはうまくいきません。

私のデータセットの「日付」列は、さまざまな形式の日付とさまざまな区切り記号で構成されています。 デバッグを行うと、指定された形式ではない日付に対してエラー メッセージが表示されます。

メソッドを使用することの全体的なポイントは、任意の形式の日付を指定された形式の日時オブジェクトに変換する方法ではありませんか?

私が試したこと:

from dateutil.parser import parse
import re
from datetime import datetime
import calendar

import pandas as pd

def date_fun(filepath):
     
   date_list=['Date', 'date', 'Dates', 'dates']
   
   for i in filepath.columns:
 
      for j in date_list:     
          if i==j:
            filepath[i]=pd.to_datetime(filepath[i], format='%d-%m-%Y')
           
                                                                         

main_path = pd.read_csv('C:/Data_Cleansing/lockdown_us.csv')
fpath=main_path.copy()


Error: time data '26-2016-09' does not match format '%d-%m-%Y' (match)
Where is the mistake in my code?

解決策 1

真剣に? どうしてこれを見ないのですか? エラーメッセージは、何が間違っているかを正確に示しています。

日付形式指定子は ‘%d-%m-%y’ です。 日、月、年の順序で値を持つ文字列を探しています。 渡す日付文字列は、日、年、月です。 to_dateTime メソッドは、どの値がどこに行くのかを推測できません。 どの値がどの位置にあるかを伝える必要があります。 これが、日付形式文字列を指定する必要がある理由です。 あなたの場合、指定したフォーマット文字列が間違っています。

コメント

タイトルとURLをコピーしました