return df.loc[~(trans_neg | trans_neg.shift(-1))]
groups = [df.customer, df.invoice_nr, df.date, df.amount.abs()]
df.groupby(groups, as_index=False, group_keys=False).apply(
    remove_cancelled_transactions)
Удалить строки отмены из Pandas Dataframe