私は2つのデータフレームdf1とdf2を持っています。datetimeに基づくデータフレームの内部結合
df1.index
DatetimeIndex(['2001-09-06', '2002-08-04', '2000-01-22', '2000-12-19',
'2008-02-09', '2010-07-07', '2011-06-04', '2007-03-14',
'2003-05-17', '2016-02-27',..dtype='datetime64[ns]', name=u'DateTime', length=6131, freq=None)
df2.index
DatetimeIndex(['2002-01-01 01:00:00', '2002-01-01 10:00:00',
'2002-01-01 11:00:00', '2002-01-01 12:00:00',
'2002-01-01 13:00:00', '2002-01-01 14:00:00',..dtype='datetime64[ns]', length=129273, freq=None)
つまり、df1のインデックスは日数で、df2のインデックスはdatetimeです。 df1のdf1とdf2の内部結合を実行し、df2の時間に対応する日付がdf1で利用可能である場合、内部結合を真であるとみなすように、インデックスに対してdf2を実行する必要があります。
私は出力として2 DF11およびDF22を取得したいです。 df11は、df1の共通の日付と対応する列を持ちます。 df22は、df2の共通の日時と対応する列を持ちます。
など。 df1の '2002-08-04'とdf2の '2002-08-04 01:00:00'は両方に存在するとみなされます。
df1の '1802-08-04'にdf2の時間がない場合、それはdf11に存在しません。
df2の '2045-08-04 01:00:00'にdf1の日付がない場合、df22には存在しません。
今私はnumpy in1d
とpandas normalize
の機能を使用して、このタスクを長時間実行しています。私はこれを達成するためにpythonic方法を探していました。
持っているコードを投稿できますか?あなたがしようとしていることがより明らかになります。 – sangrey