Вы можете использовать панд update
как:
df1.set_index('index',inplace=True)
df2.set_index('index',inplace=True)
df1.update(df2) #df1 is changed
Или
df1.loc[df2.index,'text'] = df2['text'] #df1 is changed
Или Выход будет в df3, тогда
df3 = df1.copy()
df3.update(df2) #df3 is changed
Все они производят:
text
index
1 string1
2 string2
3 string3
4 string4
5 string5
6 string6