слияния панд по диапазону дат - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть два кадра данных,

df = pd.DataFrame({'Date': ['2011-01-02', '2011-04-10', '2015-02-02', '2016-03-03'], 'Price': [100, 200, 300, 400]})

df2 = pd.DataFrame({'Date': ['2011-01-01', '2014-01-01'], 'Revenue': [14, 128]})

Я хочу добавить df2.revenue к df, чтобы создать таблицу ниже, используя оба столбца даты для справки.

Date         Price      Revenue
2011-01-02   100        14
2011-04-10   200        14
2015-02-02   300        128
2016-03-03   400        128

Как указано выше, доход добавляется в соответствии с df2.Date и df.Date

1 Ответ

0 голосов
/ 25 ноября 2018

Использование merge_asof:

df['Date'] = pd.to_datetime(df['Date'])
df2['Date'] = pd.to_datetime(df2['Date'])

df3 = pd.merge_asof(df, df2, on='Date')
print (df3)
        Date  Price  Revenue
0 2011-01-02    100       14
1 2011-04-10    200       14
2 2015-02-02    300      128
3 2016-03-03    400      128
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...