jak zaktualizować istniejącą ramkę danych w pandach?

Biorąc pod uwagę te dwie ramki danych:

>>> df1 = pd.DataFrame({'c1':['a','a','b','b'], 'c2':['x','y','x','y'], 'val':0})
>>> df1
  c1 c2  val
0  a  x    0
1  a  y    0
2  b  x    0
3  b  y    0

>>> df2 = pd.DataFrame({'c1':['a','a','b'], 'c2':['x','y','y'], 'val':[12,31,14]})
>>> df2
  c1 c2  val
0  a  x   12
1  a  y   31
2  b  y   14

Czy istnieje funkcja, która przyjmuje elementyval zdf2 i umieszcza je w odpowiednich indeksachdf1, w wyniku czego:

>>> df1_updated 
  c1 c2  val
0  a  x   12
1  a  y   31
2  b  x    0
3  b  y   14

questionAnswers(1)

yourAnswerToTheQuestion