我有两个数据帧。它们的结构是这样的:
df
<表类>
信
ID
tbody><<tr>3 B4 表类>
我首先将df_b
中[Letter, ID]
的每个组合聚合为使用.groupby
的列表,然后与df_a
合并并随后应用outliers
函数。应该更快:
df_a["results"] = df_a.merge(
df_b.groupby(["Letter", "ID"])["Value"].agg(list),
left_on=["Letter", "ID"],
right_index=True,
how="left",
)["Value"].apply(outliers)
print(df_a)
您可以先尝试合并数据集a和b,然后通过字母和ID运行组,聚合Value by Outlier函数。
pd.merge(a,b,how="inner",on = ['letter','ID']).groupby(['letter','ID']).agg(outlier).reset_index()