【发布时间】:2021-01-09 03:40:18
【问题描述】:
我有两个数据框
DF1:
EmployeeID CollectiveBargainingUnit BusinessGroup ProfitCenter Eligible 1 12A A12 UGZ. 2 17A B12 MGZ. 3 18A C12 DGZ. 4 19A D12 XGZ.
DF2:
CollectiveBargainingUnit BusinessGroup ProfitCenter Eligible 12A A12 UGZ. True 17A B12 MGZ. False 18A C12 DGZ. False 19A D12 XGZ. True 12A A13 UGZ. False 27A C12 MKZ. True 32A C22 DGZ. True 19A D99 XGZ. False
我想要完成的是这个
EmployeeID CollectiveBargainingUnit BusinessGroup ProfitCenter Eligible 1 12A A12 UGZ. True 2 17A B12 MGZ. False 3 18A C12 DGZ. False 4 19A D12 XGZ. True
基于两个数据框 (CollectiveBargainingUnit BusinessGroup ProfitCenter) 之间的多列,我想在 DF2 中访问它的资格并在 DF1 中更新它
我离开的地方是:
eligibility_map=df2.groupby(["BusinessGroup","ProfitCenter","CollectiveBargainingUnit"]).first()["Eligible"]
df1["Eligible"] = df1["BargainingUnit"].map(eligibility_map).fillna(df1["Eligible"])
我不能只将它映射到一列。我需要一次映射到多个列。
【问题讨论】:
标签: pandas dataframe pandas-groupby