2017-11-10 7 views
0

Pandasで同じ日付フォーマットの2つの異なるデータフレームを作成したいし、元のCSVファイルには2つの異なる日付フォーマットがあります。これらのデータフレームを同じ日付形式で取得するには、to_datetime関数で何を使用する必要がありますか?2つのデータフレームのPandas to_datetime、同じ日付フォーマットが必要

#DF1 (year, month day, time) 

Date      Event 
2017, February 03, 09:30 (United States) Unemployment Rate 
2017, February 03, 09:30 (United States) Nonfarm Payrolls 
2017, February 03, 11:00 (United States) ISM Non-Manufacturing PMI 


#DF2 (day.month.year time) 

Local time    Open High Low  Close 
03.02.2017 08:30:00.000 1.07363 1.0775 1.07134 1.0762 
03.02.2017 08:35:00.000 1.07626 1.07669 1.07324 1.07375 
03.02.2017 08:40:00.000 1.07372 1.07585 1.0736 1.0758 
03.02.2017 08:45:00.000 1.0758 1.07626 1.07481 1.07487 
03.02.2017 08:50:00.000 1.07488 1.07519 1.0745 1.07515 
03.02.2017 08:55:00.000 1.07518 1.07573 1.07478 1.07562 
03.02.2017 09:00:00.000 1.07561 1.07729 1.07559 1.07694 
03.02.2017 09:05:00.000 1.07693 1.07784 1.07687 1.07757 
03.02.2017 09:10:00.000 1.07756 1.07825 1.07669 1.07688 

答えて

0

ので、私たちがいることを知っている、と私はこの答えを更新することができ、これは、あなたと同じ日時書式を与えるだろうが、あなたは、あなたがそれらをしたい正確にどのような形式を指定しないでください。

import pandas as pd 

df = pd.DataFrame({'dates':['2017, February 03, 09:30','2017, February 03, 09:45']}) 
df2 = pd.DataFrame({'dates':['03.02.2017 08:30:00.00', '03.02.2017 08:35:00.000']}) 

df['dates'] = pd.to_datetime(df['dates']) 
df2['dates'] = pd.to_datetime(df2['dates']) 
+0

私はDF2の日付は、日付の両方で他の変換の前に最初の形式を修正する必要があると思うが、一般的ではありません。 –

+0

上記の正確なコードを実行し、両方とも標準のpandas datetime形式に変換されました。その時点で、OPが探しているフォーマットに変換できます。 'pd .__ version__ = 0.20.2' – pshep123

+0

はい、これで確実に日付が変換されます。しかし、共通のフォーマットを維持するには、いくつかの微調整を行う必要があります。これは、あなたが言及したステップの後に実行できます。 –

0

私は最初に2番目のデータフレームから最後の3つの0を削除する必要があると思います。そして、データフレームに必要な日付のいずれかの日付の書式を追加します。以下のコードを参照してください:

df = pd.DataFrame({'dates':['2017, February 03, 09:30','2017, February 03, 09:45']}) 
df2 = pd.DataFrame({'dates':['03.02.2017 08:30:00.000', '03.02.2017 08:35:00.000']}) 
df2['dates'] = df2['dates'].astype(str).str[:-4].astype(str) 
df["dates"] = pd.to_datetime(df["dates"]) 
df2["dates"] = pd.to_datetime(df2["dates"],format='%d.%m.%Y %H:%M:%S') 

出力:

>>>df 
      dates 
0 2017-02-03 09:30:00 
1 2017-02-03 09:45:00 
>>>df2 
      dates 
0 2017-02-03 08:30:00 
1 2017-02-03 08:35:00 
関連する問題