you can get what you want by:
df_merge['output'] = df_merge['input'].apply(lambda x : f'{x:0>3}' if x[0] in '0123456789' else x)
Verification
Assume the followin example to simulate the case you gave:
import pandas as pd
df_merge = pd.DataFrame({'input':['1','$500','333','2','(8','?8']})
print(df_merge['input'])
0 1
1 $500
2 333
3 2
4 (8
5 ?8
Name: input, dtype: object
now apply:
df_merge['output'] = df_merge['input'].apply(lambda x : f'{x:0>3}' if x[0] in '0123456789' else x)
print(df_merge['output'])
0 001
1 $500
2 333
3 002
4 (8
5 ?8
Name: output, dtype: object
Good Luck
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…