我正在我的 Python 探索之旅中查看這個無人機租賃數(shù)據(jù)集,并試圖GroupBy在結(jié)果列中顯示每個無人機每個月的收入。如果結(jié)果與特定日期相關(guān)聯(lián),我通??梢赃@樣做,但由于這是一個長期租賃業(yè)務(wù),我需要計算出在開始日期和結(jié)束日期之間每個月有多少結(jié)果可歸因于。+------+------------------+------------------+--------+| Drone| Start | End | Result |+------+------------------+------------------+--------+| DR1 16/06/2013 10:30 22/08/2013 07:00 2786 || DR1 20/04/2013 23:30 16/06/2013 10:30 7126 || DR1 24/01/2013 23:00 20/04/2013 23:30 2964 || DR2 01/03/2014 19:00 07/05/2014 18:00 8884 || DR2 04/09/2015 09:00 04/11/2015 07:00 7828 || DR2 04/10/2013 05:00 24/12/2013 07:00 5700 |+-----------------------------------------------------+我能夠使用這個找到日期的差異:import datetimefrom dateutil.relativedelta import relativedeltadf.Start = pd.to_datetime(df.Start)df.End = pd.to_datetime(df.End)a = df.loc[0, 'Start']b = df.loc[0, 'End']relativedelta(a,b)然而,輸出打印如下:相對增量(月=-2,天=-5,小時=-20,分鐘=-30)我不能像使用 GroupBy 數(shù)據(jù)集有一個日期那樣使用它來計算可歸屬的現(xiàn)金df.groupby(['Device', 'Date']).agg(sum)['Result']我將不勝感激有關(guān)解決此類問題的正確思考過程以及代碼外觀的幫助。以每種無人機類型的第一個示例為例,我的預(yù)期輸出是:+------+-------+-------+---------+|Drone | Month | Days | Result |+------+-------+-------+---------+|DR1 June X $YY ||DR1 July X $YY ||DR1 August X $YY ||DR2 March Y $ZZ ||DR2 April Y $ZZ ||DR2 May Y $ZZ |+--------------------------------+謝謝
python - GroupBy 總和在開始和結(jié)束日期范圍內(nèi)的比例
函數(shù)式編程
2021-10-05 16:54:53