[英]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.