Предположим, у вас есть
df1 = df1 = pd.DataFrame({"annualGrammy":[11,12,13,14,15,16,17,18]}, index=["i1","i2", "i3","i4","i5","i6","i7","i8"])
df2 = pd.DataFrame({"annualGrammy":[11,16,17,110,111], "song": ["a","b","c","d","e"]})
Так, что
df1.reset_index()
annualGrammy index
0 11 i1
1 12 i2
2 13 i3
3 14 i4
4 15 i5
5 16 i6
6 17 i7
7 18 i8
и
df2
annualGrammy song
0 11 a
1 16 b
2 17 c
3 110 d
4 111 e
. Вы можете объединить, используя how="left"
, чтобы отслеживать индексdf1
:
pd.merge(df1, df2, on="annualGrammy", how="left")
index annualGrammy song
0 i1 11 a
1 i2 12 NaN
2 i3 13 NaN
3 i4 14 NaN
4 i5 15 NaN
5 i6 16 b
6 i7 17 c
7 i8 18 NaN
Все NaN
s - это значения, которые не совпадают в ag
.Вы можете отбросить их, чтобы получить только значения, которые имеют значение
pd.merge(df1, df2, on="annualGrammy", how="left").dropna()
annualGrammy index song
0 11 i1 a
5 16 i6 b
6 17 i7 c