У меня есть два кадра данных, df1
и df2
import pandas as pd
df1 = pd.DataFrame([["name_"+str(i) for i in range(10)], list(range(10))]).transpose()
df1.columns = ["Name", "Score"]
df2 = pd.DataFrame([["name_"+str(i) for i in range(2,7)], list(range(12,17))]).transpose()
df2.columns = ["Name", "Score"]
Я хочу объединить кадры данных таким образом, чтобы все строки, которые находятся в df1
, присутствовали в результате, но везде, где Name
значения в df1
присутствуют в df2
, результат должен содержать значения от df2
. По сути, я хочу обновить df1
значениями от df2
везде, где Name
совпадает
Это то, что я ищу
Name Score
0 name_0 0
1 name_1 1
2 name_2 12
3 name_3 13
4 name_4 14
5 name_5 15
6 name_6 16
7 name_7 7
8 name_8 8
9 name_9 9
Есть ли способ, которым я могувыполните эту операцию, используя операцию соединения. Я смог сделать это с помощью операции присваивания
df1.loc[df1['Name'].isin(df2['Name']), "Score"] = df2["Score"].values
Есть ли способ сделать это с помощью операции соединения?