TimeGrouper變更過幾個月我有員工工資數據的數據幀(樣本如下),其中「日期」是指當僱員的工資生效:熊貓GROUPBY +重採樣/從開始
Employee Date Salary
PersonA 1/1/2016 $50000
PersonB 3/5/2014 $65000
PersonB 3/1/2015 $75000
PersonB 3/1/2016 $100000
PersonC 5/15/2010 $75000
PersonC 6/3/2011 $100000
PersonC 3/10/2012 $110000
PersonC 9/5/2012 $130000
PersonC 3/1/2013 $150000
PersonC 3/1/2014 $200000
在這例如,PersonA今年開始以5萬美元的價格出售,而PersonC已經在公司工作了一段時間,並且自2010年5月15日開始以來已經獲得多次增加。
我需要的Date
列轉換爲Months from Start
,單個員工的基礎上,在那裏Months from Start
將在m
個月(由我指定)的增量上。例如,對於PersonB,假設m=12
,其結果必然是:
Employee Months From Start Salary
PersonB 0 $65000
PersonB 12 $65000
PersonB 24 $75000
這意味着,在一個月0(就業起點),PersonB過的$ 65,000的工資; 12個月後,他的薪水爲65,000美元,24個月後他的薪水爲75,000美元。請注意,下一個增量(36個月)將在PersonB的轉換後的數據框中出現NOT,因爲該持續時間超過了PersonB的工作時間(將來會有)。
再次請注意,我希望能夠將m
調整爲任意月份增量。如果我想爲6個月(m=6
)的增量,其結果必然是:
Employee Months From Start Salary
PersonB 0 $65000
PersonB 6 $65000
PersonB 12 $65000
PersonB 18 $75000
PersonB 24 $100000
PersonB 30 $100000
最後一步,我也想包括僱員的工資作爲今天的轉化數據幀的。再次使用PersonB,並假設m=6
,這意味着其結果將是:
Employee Months From Start Salary
PersonB 0 $65000
PersonB 6 $65000
PersonB 12 $65000
PersonB 18 $75000
PersonB 24 $100000
PersonB 30 $100000
PersonB 32.92 $100000 <--added (today is 32.92 months from start)
問題:實現:是有一種編程方式(groupby
,resample
,或TimeGrouper
我假設使用的至少一個)上述所需的數據幀?
注意:您可以假設所有員工都活躍(尚未離開公司)。
感謝您的提示。我遇到的一個問題是,在整個數據集中,一些員工的薪水在同一天生效,因此將'index'設置爲'df.Date'違反了'resample'顯然需要的唯一索引要求(我收到此錯誤:'ValueError:不能從重複軸重新索引')。如果您有任何想法,請告知我。 – NickBraunagel