我有下面的例子,Pandas資料框架
。df
UserID Total Date
1 20 2019 01-01
1 18 201901-02
1 22 201901-03
1 16 201901-04
1 17 201901-05
1 26 201901-06
1 30 201901-07
1 28 201901-08
1 28 201901-09
1 28 201901-10
2 22 2019-01
2 11 201901-02
2 23 201901-03
2 14 201901-04
2 19 201901-05
2 29 201901-06
2 21 201901-07
2 22 201901-08
2 30 201901-09
2 16 201901-10
3 27 2019-01
3 13 201901-02
3 12 201901-03
3 27 201901-04
3 26 201901-05
3 26 201901-06
3 30 201901-07
3 19 201901-08
3 27 201901-09
3 29 201901-10
4 29 2019-01
4 12 201901-02
4 25 201901-03
4 11 201901-04
4 19 201901-05
4 20 201901-06
4 33 201901-07
4 24 201901-08
4 22 201901-09
4 24 201901-10
我想實作的是添加一列TotalPast3Days,基本上是該特定UserID
的前3天(不包括該行的當前日期)的Total總和。如何做到這一點?
uj5u.com熱心網友回復:
對于前3天,你將得到一個NaN,因為沒有 "前3天(不包括行中的當前日期)";但是,對于其余的,你可以使用shift 像 df['TotalPast3Days'] = df['Date'].shift(1) df['Date'].shift(2) df['Date'].shift(3)
uj5u.com熱心網友回復:
totals = [] []
for i in len(df.index)。
if i < 3:
totals.append(0)
elif df['UserID'].iloc[i] == df['UserID'].iloc[i-3] 。
total = df['Total'].iloc[i-1]
df['Total'].iloc[i-2]
df['Total'].iloc[i-3]
totals.append(total)
else:
totals.append(0)
df['Sum of past 3'] = total
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/323183.html
標籤:
上一篇:SwiftUI--圓形文本欄位
下一篇:AttributeError:'LogisticRegressionTrainingSummary'物件沒有屬性'areaUnderROC'
