2
多次元ルックアップを実行して、新しい列に値を代入しています。マルチキーパンダのデータフレームに関数を適用する方法
私は月ごとに履歴従業員のデータを持つテーブルを持っています。この例ではの2人のユニークユーザーがあり、1か月以内に複数のジョブを持つことができます。
以下の条件に基づいて、それぞれのユニークユーザーに適格なジョブがあるかどうかを知らせる新しい列を作成します。課題は、各行を月/年ごとに考慮する必要があることです。
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
対象ジョブズ条件:
- (= 1
Job #
とPay Group
=含める)場合は事前条件が偽であれば、与えられたmonth/year
とPay Group
=含ま内の次の最大のJob #
を探します
おかげpiRSquared。これはすばらしかった。これにはもう1つの部分があります...これらを適格なジョブとしてフラグを立てる新しい列を作成するには、これが必要です。 '適格業務':「対象」/「対象外」。 また、これを実行した後、groupbyをリセットして、フルテーブルに戻ることができますか? – Christopher
@Christopher投稿が更新されました。 – piRSquared
がほとんどあります。コードが「対象」の元の行を上回るように見えます。私は元のテーブルを保持するために探していますが、 "対象ジョブ"の列= "対象"または "対象外"のみです。 – Christopher