1. 直接filter:
df.loc[df[1].gt(df[3].mul(1.03))|df[1].lt(df[3].mul(0.97))]
df
1 3
3 0.13 1.150
4 16.00 0.119
2. 加一行新column做indicator:
conds = [df[1].gt(df[3].mul(1.03)), df[1].lt(df[3].mul(0.97))]
df["res"] = np.select(conds, ["bigger", "smaller"], "Error")
df
1 3 res
0 47.200 46.650 Error
1 71.400 71.200 Error
2 0.059 0.060 Error
3 0.130 1.150 smaller
4 16.000 0.119 bigger