我想传递向量列以应用于 pandas 数据帧,这是一个简化:
def mae(y_true, y_pred):
return (y_true - y_pred).abs().mean()
df = pd.DataFrame({"y_true": [1.1, 2, 3], "y_pred": [2, 2.5, 3]})
df[df.y_true > 1.5].apply(lambda x: mae(x.y_true, x.y_pred), axis=1)
有或没有axis=1
. 我想避免走很长的路
df_filtered = df[df.y_true > 1.5]
mae(df_filtered.y_true.values, df_filtered.y_pred.values)
这可能很容易,但我做了一些研究,不知道该怎么做。返回的值应该是 0.25