Добавить поле в dataframe со значениями из другого dataframe

Есть два dataframes:

d = {'date': ['2020-08-01 01:26', '2020-08-01 01:30', '2020-08-01 01:32', '2020-08-01 01:33', '2020-08-01 01:35'],
     'string': ['hello', 'world', 'friends', 'piece', 'great']}
df10 = pd.DataFrame(data=d)
df10

enter image description here

 d = {'date': ['2020-08-01 01:26', '2020-08-01 01:27', '2020-08-01 01:28', '2020-08-01 01:29', '2020-08-01 01:30',
              '2020-08-01 01:31', '2020-08-01 01:32', '2020-08-01 01:33', '2020-08-01 01:34', '2020-08-01 01:35',],
     'int': [10, 5, 18, 25, 3, 17, 11, 15, 4, 5]}
df11 = pd.DataFrame(data=d)
df11

enter image description here

Необходимо добавить поле 'int' в df10 таким образом, чтобы значения в нем соответсвовали значениям из полей 'date' и 'int' df11.

Мое решение:

for i in df10['date']:
    for y in df11['date']:
        if i == y:
            df10['int'] = df11['int']

Дает неверный результат:

![enter image description here

Спасибо!


Ответы (2 шт):

Автор решения: strawdog

Был сегодня похожий вопрос. делайте merge:

df10 = df10.set_index(["date"])
df11 = df11.set_index(["date"])
res = df10.join(df11, how ="inner").reset_index()

res:

               date   string  int
0  2020-08-01 01:26    hello   10
1  2020-08-01 01:30    world    3
2  2020-08-01 01:32  friends   11
3  2020-08-01 01:33    piece   15
4  2020-08-01 01:35    great    5
→ Ссылка
Автор решения: passant

В общем, я даже не буду приставать, причем тут "релевантность".

df11=df10.merge(df11, on="date")

Резульат:

               date   string  int
0  2020-08-01 01:26    hello   10
1  2020-08-01 01:30    world    3
2  2020-08-01 01:32  friends   11
3  2020-08-01 01:33    piece   15
4  2020-08-01 01:35    great    5

Оно? И впредь постарайтесь, пожалуйста, пользоваться общепринятой терминологией.

→ Ссылка