使用groupby计算未排序数据帧随时间的变化百分比

I have a df

    Name        Date ID  Amount
0   Faye  2019-12-31  A       2
1   Faye  2020-03-01  A       3
2   Faye  2019-09-30  A       1
3   Mike  2019-09-30  A       7
4   Mike  2019-12-31  A       7
5   Faye  2019-09-30  B      10
6   Mike  2019-12-31  B      12
7   Faye  2019-12-31  B       8
8   Faye  2019-06-30  B       5
9   Mike  2019-09-30  B      10
10  Faye  2019-09-30  C       5
11  Mike  2018-03-31  D       5

And for each Name, Date, ID, group I want to calculate the % change of Amount from the previous Date (if there is one), by adding it as a new column (% Change). And if it didn't exist previously, add something like New, so that the new_df looks like:

    Name        Date ID  Amount % Change
0   Faye  2019-12-31  A       2        1
1   Faye  2020-03-01  A       3       .5
2   Faye  2019-09-30  A       1      New
3   Mike  2019-09-30  A       7      New
4   Mike  2019-12-31  A       7      NaN
5   Faye  2019-09-30  B      10       .5
6   Mike  2019-12-31  B      12       .2
7   Faye  2019-12-31  B       8      -.2
8   Faye  2019-06-30  B       5      New
9   Mike  2019-09-30  B      10      New
10  Faye  2019-09-30  C       5      New
11  Mike  2018-03-31  D       5      New

I tried df['% Change'] = (df.groupby(['Name', 'Date', 'ID'])['Amount'].apply(pd.Series.pct_change) + 1) but it returns all NaN. Maybe this is because the data isn't sorted? So how do I achieve this without a sorted dataframe?