请谅解,因为我正在学习Python,以下是我使用Pandas DataFrame所拥有的工人属性列:姓名,职位和时薪。
df
Index Name Position HourlyPay
0 John Analyst 15.00
1 Mike Programmer 18.00
2 Lisa Supervisor 16.75
4 Frank Analyst 15.50
我希望将所有可能的人员组合输出到另一个DataFrame中(如下所示),其中包括他们的职位作为列标题,并有另一列汇总他们的HourlyPay,然后按最高的TotalHourlyPay排序。
uniqueDf
Index Analyst Programmer Supervisor TotalHourlyPay
0 Frank Mike Lisa 50.25
1 John Mike Lisa 49.75
我在上面的
uniqueDf
示例中使用了3个位置,但有时会发生变化。例如,2个分析师
职位可以同时工作,因此我想要在需要时动态添加或删除多个职位列的选项。下面是第二个示例。
secondExampleDf
Index Analyst Analyst Programmer Supervisor TotalHourlyPay
0 Frank John Mike Lisa 65.25
这是一个非常简单的数据集示例,实际上它是更大的数据集的一部分。我尝试解决了这个问题,但我的代码并不值得展示。最接近成功的方法是在df.Name
列上使用itertools.combinations
。我试图通过在两个 DataFrame
之间使用join
或merge
来追加和求和一个 TotalHourlyPay
列,但也无法使其正常工作。
possibleCombinations = list(itertools.combinations(df.Name, 3))
uniqueDf = pd.DataFrame(possibleCombinations,columns=['Employee1','Employee2','Employee3'])
我只是想问是否有人能帮我指明方向。我知道SO不是为您编写代码的,这绝对不是我想要的。我真的很困惑接下来该怎么做,Google Chrome上的每个链接都被点击并标记了出来。非常感谢任何帮助。
谢谢