pandas - 文字列を日時オブジェクトに変換する際の空の値エラー

okwaves2024-01-24  4

時間要素を含む文字列を日時オブジェクトに変換しようとしています。

from datetime import datetime as dt

def converttime(dataset):
    for i in range(len(dataset)):
        datecol=dataset.loc[i]["Date"]
        date=datecol[:25]
        print(date)
        date=dt.strptime(date, "%a, %d %b %Y %H:%M:%S")
        dataset.loc[i]['Date']=date
    return dataset

データの形式は次のとおりです。 「2001 年 5 月 14 日月曜日 16:39:00 -0700 (PDT)」

値エラーが繰り返し発生しますが、その理由がわかりません。赤い最初の行は文字列の元の書式設定を示し、2 番目の赤い行は希望する書式の文字列を示します。なぜループが 2 回の反復後にのみ停止するのかわかりません。

これは、関数を呼び出すときに発生するエラーです。

エラーが何なのか、または修正方法がわかりません...

助けてください!!

コード、エラー、データをスクリーンショットではなくテキストとして追加します。これは、スクリーンショットを推奨しないためです。おそらく、この質問は反対票を投じられ、クローズされるでしょう。データやコードを再入力する人は誰もいないし、スクリーンショットは判読できないことが多いため、支援を思いとどまることになります。質問を編集してテキストを追加します。

– トレントン・マッキニー

2020 年 9 月 3 日 2:51



------------------------

文字列の接続の最後に余分な空きスペースがありました。そこで、strip 関数を使用したところ、関数が機能するようになりました。

def converttime(dataset):
for i in range(len(dataset)):
    datecol=dataset.loc[i]["Date"]
    date=datecol[:25]
    date=date.strip()
    date=dt.strptime(date, "%a, %d %b %Y %H:%M:%S")
    dataset.loc[i]['Date']=date
return dataset

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。