Я не могу понять, как объединить 2 панды DataFrames с определенными условиями.
У меня есть это:
import pandas as pd
df1 = pd.DataFrame({'Name': ['A', 'A', 'A', 'B' ,'B' ,'B'],
'Date': ['10/15/2019', '10/16/2019', '10/17/2019', '10/15/2019', '10/16/2019', '10/17/2019'],
'Value 1': [101, 102, 103, 201, 202, 203],
'Value 2': ['A1', 'A2', 'A3', 'B1', 'B2', 'B3']})
df2 = pd.DataFrame({'Name': ['A', 'A', 'B', 'B' ,'C'],
'Date': ['10/14/2019', '10/15/2019', '10/13/2019', '10/18/2019', '10/18/2019'],
'Value 3': [2, 2, 22, 44, 222]})
мне нужно добраться до этого
Мне нужно объединить только имена, которые существуют в df1, но добавить даты, которые существуют в df2. Однако эти даты должны быть больше 13.10.2019.
Самое близкое, что я мог получить, это
df_m = pd.merge(df1, df2, how='outer', left_on=['Name', 'Date'], right_on=['Name', 'Date'], sort=True)
Но сюда входит все ("C" из df2 - мне не нужно и дата 13.10.2019 для "B" - мне тоже не нужно).
Я был бы очень признателен за любую помощь.
Отредактировано: мы можем отказаться от условия даты больше 13.10.2019 - я понял это, только что создав еще один df2_mod, в котором я не включал даты, которые мне не нужны. Однако некоторые даты, существующие в df2_mod, отсутствуют в df1, и мне нужно объединить их со значениями 3. Однако мне не нужны имена из df2 в df1, которых нет в df1.