Это будет долго и при условии, что все почтовые индексы будут иметь одинаковую длину после добавления 0 в начале.
import pandas as pd
import numpy as np
t1 = pd.DataFrame({'id':[1,2,3,4],
'zip_code':['0234','0345','3456','4567']})
t2 = pd.DataFrame({'id2':[5,6,7,8],
'zip_code':['234','0345','3456','4567']})
t2['lens'] = t2.zip_code.apply(len)
t2.loc[:,'zip_code'] = np.where(t2.lens<4,'0'+t2['zip_code'].astype(str),t2['zip_code'])
вход t1:
id zip_code
0 1 0234
1 2 0345
2 3 3456
3 4 4567
Вход t2:
id2 zip_code
0 5 234
1 6 0345
2 7 3456
3 8 4567
Выход t2:
id2 zip_code lens
0 5 0234 3
1 6 0345 4
2 7 3456 4
3 8 4567 4
Вы можете удалить столбец объектива, если он вам больше не понадобится. Теперь вы можете объединить два кадра данных t1 и t2, используя zip_code.