Попробуйте функцию pandas merge
и передайте on
arg - это столбец того, что вы хотите присоединить к вашим наборам данных.
Table_merged = pd.merge(Table_B, Table_A['Date', 'Wk_of_Year'], on='Date')
Это создаст ожидаемый вами набор данных:
Date Sales Shop Wk_of_Year
0 2020-01-01 100 A 1
1 2020-01-01 100 B 1
2 2020-01-01 100 C 1
3 2020-01-10 100 D 2
Но если вы все еще хотите использовать свою стратегию - используйте функцию pandas insert
:
date_wk_dct = {key: value for key, value in Table_A[['Date', 'Wk_of_Year']].get_values()}
Table_B.insert(3, "Wk_of_Year", [date_wk_dct[v] for v in iter(Table_B['Date'].get_values())], True)
Это вставит новый столбец в ваш существующий набор данных Table_B и результат будет таким же:
Date Sales Shop Wk_of_Year
0 2020-01-01 100 A 1
1 2020-01-01 100 B 1
2 2020-01-01 100 C 1
3 2020-01-10 100 D 2