【发布时间】:2016-07-31 05:06:05
【问题描述】:
我正在执行多维查找以在新列中分配一个值。
我有一个按月包含一些历史员工数据的表。此示例中有两个独特的人,他们可以在一个月内拥有多个工作。
我想创建一个新列,根据以下条件告诉我每个独特的人是否都有符合条件的工作。挑战在于必须按月/年考虑每一行。
import pandas as pd
import numpy as np
data = {'Month': ["January", "January", "January", "February", "February", "February", "March", "March", "March", "March"],
'Year': [2015,2015,2015,2015,2015,2015,2016,2016,2016,2016],
'Job #': [1,1,2,1,2,1,1,1,2,3],
'Pay Group': ["Excluded","Included","Excluded","Excluded","Included","Included","Excluded","Exclcuded","Excluded","Included"],
'Name': ["John","Bill","Bill","John","John","Bill","John","Bill","Bill","Bill"]}
df = pd.DataFrame(data, columns=['Month', 'Year', 'Job #', 'Pay Group', 'Name'])
df
符合条件的工作条件:
- 如果 (
Job #= 1 ANDPay Group= Include ) AND 如果先验条件为 false,则在给定的month/yearANDPay Group= Includes 中查找下一个最大的Job #
【问题讨论】: