I have a short script to pivot data. The first column is a 9 digit ID number, often beginning with zeros such as `000123456`

Here is the script:

```py
df = pd.read_csv('source')

new_df = df.pivot_table(index = 'id', columns = df.groupby('id').cumcount().add(1), values = ['prog_id', 'prog_type'], aggfunc='first').sort_index(axis=1,level=1)

new_df.columns = [f'{x}_{y}' for x,y in new_df.columns]

new_df.to_csv('destination')
print(new_df)

```

Although the CSV is being read with an id such as `000123456`, the output only contains `123456`

Even when setting an explicit dtype, Pandas removes the leading zeros. Is there a work around for telling Pandas to leave the leading zeros?