簡體   English   中英

按日期時間和日期列合並 Pandas Dataframe

[英]Merging Pandas Dataframe by Datetime and Date column

我有兩個如下所示的數據框。

timestamp                 data
2015-01-01 00:00:00       296.0
2015-01-01 00:30:00       342.0
2015-01-01 01:00:00       431.0
2015-01-01 01:30:00       234.0
2015-01-01 02:00:00       234.0
...
2015-02-01 00:00:00       123.0
...

date             different date
2015-01-01       111
2015-01-02       233
2015-01-03       1324
2015-01-04       1231
2015-01-05       112
...

我想要的是

timestamp                 data     different date
2015-01-01 00:00:00       296.0    111
2015-01-01 00:30:00       342.0    111
2015-01-01 01:00:00       431.0    111
2015-01-01 01:30:00       234.0    111
2015-01-01 02:00:00       234.0    111
...
2015-02-01 00:00:00       123.0    233
...

所以我想要的是從一個 dataframe 合並到另一個。 如果日期相同,則適合該日期的每個日期時間行都會獲得另一個值。 不幸的是,我的第二個 dataframe(每天只有一個值)缺少行,所以我不能將每個值都擴展 48 次。 任何幫助表示贊賞。 循環遍歷兩個數據框並比較日期似乎非常低效。

您可以在df1中創建由 datetimes 中的日期填充的幫助列,然后通過DataFrame.merge將其與左連接合並,最后在必要時刪除此列:

df1['timestamp'] = pd.to_datetime(df1['timestamp'])
df2['date'] = pd.to_datetime(df2['date']).dt.date

df1['date'] = df1['timestamp'].dt.date

df = df1.merge(df2, on='date', how='left').drop('date', axis=1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM