Aint it always the way - five minutes of searching later I found a solution:
dfForex['last_close'] = dfForex.groupby(['<ticker>']).shift()['<close>']Result:
dfForex[['<close>', 'last_close']] Out[3]: <close> last_close <date> <ticker> 2019-07-01 AUDEUR 0.6170 NaN AUDGBP 0.5508 NaN AUDHKD 5.4413 NaN AUDJPY 75.4780 NaN AUDUSD 0.6965 NaN 2019-07-03 AUDEUR 0.6229 0.6170 AUDGBP 0.5587 0.5508 AUDHKD 5.4818 5.4413 AUDJPY 75.7710 75.4780 AUDUSD 0.7031 0.6965 2019-07-04 AUDEUR 0.6224 0.6229 AUDGBP 0.5583 0.5587 AUDHKD 5.4687 5.4818 AUDJPY 75.7310 75.7710 AUDUSD 0.7024 0.7031