merge
, чтобы найти совпадение, и используйте .iloc
для подмножества..reset_index
сначала, чтобы вы могли получить доступ к исходному индексу после слияния.
df1.iloc[:df1.reset_index().merge(df2)['index'].item()]
Symbol Subject Broadcast Date/Time
0 CUMMINSIND Financial Result Updates 06-Feb-2019 18:31
1 IGL Financial Result Updates 06-Feb-2019 17:16
Мне нравится .item()
, потому что он выдаст ValueError
, если несколько строк совпадут, хотя кажется, что вы ожидаете толькоодиночный матч.Если вы хотите иметь дело с возможностью нескольких совпадений, то вы можете захватить все до последнего матча с помощью .iloc[-1]
вместо .item()
:
df1.iloc[:df1.reset_index().merge(df2)['index'].iloc[-1]]
Если ничего не найдено, вы получите ValueError
с .item()
или IndexError
с .iloc
, так что либо поймайте их и ничего не возвращайте, либо сначала проверьте df1.reset_index().merge(df2).empty
и ничего не возвращайте в этом случае.