pandas pivot table how to rearrange columns

df_pvt = pd.pivot_table(df, values = 'Amount', index = ['Name', 'Week'], columns = 'Category', aggfunc = np.sum, margins=True, margins_name = 'Total', fill_value = 0
df_pvt.columns.name = None
df_pvt = df_pvt.reset_index()

Let us try crosstab

out = pd.crosstab(index = [df['Name'],df['Week']],
                  columns = df['Category'],
                  values=df['Amount'],
                  margins=True,
                  aggfunc='sum').fillna(0).iloc[:-1].reset_index()
Category Name Week  Auto  Clothing  Food  Services  All
0         ABC    1  20.0      50.0  20.0       0.0   90
1         DEF    1   0.0       0.0  10.0      20.0   30