資料框包含日期列、收入列(特定日期)和日期名稱。

這是創建df的代碼:
pd.DataFrame({'Date':['2015-01-08','2015-01-09','2015-01-10','2015-02-10','2015-08-09','2015-08-13','2015-11-09','2015-11-15'],
'Revenue':[15,4,15,13,16,20,12,9],
'Weekday':['Monday','Tuesday','Wednesday','Monday','Friday','Saturday','Monday','Sunday']})
我想找到星期一之間的收入總和:
2015-02-10 34 Monday
2015-11-09 49 Monday etc.
uj5u.com熱心網友回復:
第一個想法是通過與每組的累積總和和聚合Weekday進行比較來用于組:Monday
df1 = (df.groupby(df['Weekday'].eq('Monday').cumsum())
.agg({'Date':'first','Revenue':'sum', 'Weekday':'first'}))
print (df1)
Date Revenue Weekday
Weekday
1 2015-01-08 34 Monday
2 2015-02-10 49 Monday
3 2015-11-09 21 Monday
但似乎與示例資料中的 sWeekday列不匹配,因此每周開始回傳不同的輸出:DateDataFrame.resampleMondays
df['Date'] = pd.to_datetime(df['Date'])
df2 = df.resample('W-Mon', on='Date').agg({'Revenue':'sum', 'Weekday':'first'}).dropna()
print (df2)
Revenue Weekday
Date
2015-01-12 34 Monday
2015-02-16 13 Monday
2015-08-10 16 Friday
2015-08-17 20 Saturday
2015-11-09 12 Monday
2015-11-16 9 Sunday
uj5u.com熱心網友回復:
對什么感到滿意
情懷
heart
你有
- 不后悔
- 不哭
- 微笑的面孔
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/532943.html
標籤:Python熊猫约会时间
