Вы можете сделать это в одну строку, используя pandas.merge()
, например:
import pandas as pd
#price and premium are pandas.DataFrame()
result = pd.merge(price, premium, left_on="Year-Month", right_on="Month", how='inner')
print(result)
# Date Average Year-Month Month Premium
#0 5/29/2020 35.00 May-20 May-20 -6.55
#1 5/28/2020 33.21 May-20 May-20 -6.55
#2 5/27/2020 34.50 May-20 May-20 -6.55
#3 5/26/2020 34.85 May-20 May-20 -6.55
#4 5/22/2020 32.56 May-20 May-20 -6.55
И вы можете удалить все столбцы, которые не нужны, например:
result.drop(['Month', 'Year-Month'], axis=1, inplace=True)
print(result)
# Date Average Premium
#0 5/29/2020 35.00 -6.55
#1 5/28/2020 33.21 -6.55
#2 5/27/2020 34.50 -6.55
#3 5/26/2020 34.85 -6.55
#4 5/22/2020 32.56 -6.55