Python pandas заполнение одной таблицы данными из другой

Есть две таблицы, первая заполнена названиями, остальные данные нулевые (или nan, я руками заполняю):

  фрукты цена кол-во
0 яблоко   0    0
1 банан    0    0
2 картошка 0    0
3 морковка 0    0

Во второй таблице нужные данные:

    фрукты цена кол-во
0 картошка 5    10
1 морковка 3    15

Есть ли возможность заполнить пустые (нулевые) значения в первой таблице, данными из второй не используя циклы, что бы получить в результате такую таблицу?:

  фрукты цена кол-во
0 яблоко   0    0
1 банан    0    0
2 картошка 5    10
3 морковка 3    15

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

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

Можно, например, так:

import pandas as pd

df1 =   pd.DataFrame({"фрукты":["яблоко", "банан", "картошка", "морковка"], "цена":[0,0,0,0], "кол-во":[0,0,0,0]})
df2 =   pd.DataFrame({"фрукты":["картошка", "морковка"], "цена":[5,3], "кол-во":[10,15]})

df1 = df1.set_index("фрукты")
df2 = df2.set_index("фрукты")
df1.update(df2)
df1 = df1.reset_index()

df1:

     фрукты  цена  кол-во
0    яблоко   0.0     0.0
1     банан   0.0     0.0
2  картошка   5.0    10.0
3  морковка   3.0    15.0
→ Ссылка