Os pandas passam duas colunas para funcionar
#Method 1:
df["Delivery Charges"] = df[["Weight", "Package Size", "Delivery Mode"]].apply(
lambda x : calculate_rate(*x), axis=1)
#Method 2:
df["Delivery Charges"] = df.apply(
lambda x : calculate_rate(x["Weight"],
x["Package Size"], x["Delivery Mode"]), axis=1)
Exuberant Eland