Для этого, если вы не хотите сортировать данные, вы можете использовать суррогатный фрейм данных со значением веса тела для ord = 0, а затем объединить его с предыдущим фреймом данных.
df_ord = df.query("ord==0").rename(columns={'body_weight':'body_weight_base'})
df_ord = df_ord.drop('ord',axis=1)
df = df.merge(df_ord)
df['change'] = df['body_weight'] - df['body_weight_base']