I have changed it like this:
for index, group in enumerate(GroupId1):
sub_group = xxdat_matrix[GroupId1 == group]
sum_ad = tt.sum(sub_group[:,-1].tolist())
sum_ad_gammma = sum_ad**gamma
yydat_matrix = tt.set_subtensor(yydat_matrix[index,[0,1,2,3]], group)
yydat_matrix = tt.set_subtensor(yydat_matrix[index,4], sum_ad_gammma)
But now it gives me this error:
RecursionError: maximum recursion depth exceeded
I increased the recursion limit number but still cannot get the correct results.