2017-04-14 7 views
1

パンダを使って時系列インデックスを作成しようとしています。現在、これは私が実行しているコードです:pandas(python)を使って時系列を正しく使う方法

date_string = df3["Date"] 
date_times = pd.to_datetime(date_string, yearfirst=True, format='%Y%m%d%H%M') 
df3_i = df3.set_index(date_times) 

しかし、私は一定のエラーが発生しています。誰でも説明できますか? エラー:フォーマットが'%Y-%m-%d %H:%M'

日付と時刻の数値要素を表現するために意図されている特殊文字の組み合わせがあります。ですので

ValueError: time data '2017-03-08 13:53' does not match format '%Y%m%d%H:%M' (match) 

答えて

0

です。大きな参考資料が見つかりましたhere

エラーメッセージで示されているように、'2017-03-08 13:53'の時間文字列があります。あなたはそれを見つけるのリンクから:

  • 4桁の年'%Y'
  • 2桁の月'%m'
  • 2桁の日である'%d'
  • 2桁の時間は'%H'
  • 2桁の分ですis '%M'

だから、もう一方の文字列このようにダッシュ、スペース、およびコロン

のようなビット'%Y-%m-%d %H:%M'

は、それが動作しない場合は、あなたが一貫性のない日付形式とアクションの私の最初のコースだろうを持っている代わりに

date_string = df3["Date"] 
date_times = pd.to_datetime(date_string, yearfirst=True, format='%Y-%m-%d %H:%M') 
df3_i = df3.set_index(date_times) 

これを使用します私が解析しようとしているものを作成した人は誰でも叫ぶべきです。

これがあなたのシナリオである場合は、別の質問をしてください...または可能性があります。

+1

'infer_datetime_format = True'を使うことをお勧めします。形式を100%確信していない限り、静的にコード化された書式を省略することをお勧めします。また、通常は解析をスピードアップします。 – pshep123

+0

それは動作しませんでした。そして、私はすでに答えの源を見ていますが、私はまだ間違いがあります。私は日付のいくつかに先行ゼロがないと思う。 –

関連する問題