我有一个包含出发地、目的地和成本列的数据集。有 x 个出发地和 y 个目的地。每个起点都映射到 y 个目的地,并具有相应的成本。
我的目标是创建一个新列,显示在给定预算金额的情况下从每个出发点可以到达的目的地数量。我可以轻松地单独对每个来源执行此操作,但这需要永远遍历 x 个不同的来源。
有没有办法过滤这个巨大的数据集,定义一个函数来得出每个起点的目的地的正确结果?
最佳答案
我对这个问题的理解是,您想要使用给定的行程预算每个出发地可到达的地点数量。因此,有点像使用相同价格可以到达的其他目的地的数量。
我们可以通过按来源对数据进行分组,然后对预算进行排名来做到这一点 - 使用 method = 'max'
我们在平局期间获取最高排名:
x.groupby('OriginID').apply(lambda x: x.Budget.rank(method = 'max'))
关于python - 是否有一种有效的方法来过滤并将函数应用于该数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49497671/