Python 根据熊猫中的条件添加值
如果当前值>上一个值(value.shift(-1)),则将值添加到df[“”] 从下到上。请查看我的预期数据框,以查看我试图通过检查条件实现的目标Python 根据熊猫中的条件添加值,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,如果当前值>上一个值(value.shift(-1)),则将值添加到df[“”] 从下到上。请查看我的预期数据框,以查看我试图通过检查条件实现的目标 如果不想考虑,可以删除GROPBY的ID。 df2=df.sort_values('timestamp') blocks=df2.groupby('id')['value'].diff(-1).ge(0).cumsum() df['finalvalue']=df2['value'].mask(blocks.ne(0),
如果不想考虑,可以删除GROPBY的ID。
df2=df.sort_values('timestamp')
blocks=df2.groupby('id')['value'].diff(-1).ge(0).cumsum()
df['finalvalue']=df2['value'].mask(blocks.ne(0),
df2.groupby(['id',blocks])['value'].cumsum())
print(df)
timestamp id value finalvalue
0 2020-02-16 03:05:57 device1 1000 4100
1 2020-02-16 02:05:33 device1 900 3100
2 2020-02-16 01:05:08 device1 700 2200
3 2020-02-16 00:04:44 device1 300 1500
4 2020-02-15 23:04:19 device1 1200 1200
5 2020-02-15 22:03:55 device1 800 800
6 2020-02-15 21:03:29 device1 400 400
7 2020-02-15 20:03:04 device1 200 200
8 2020-02-15 19:02:39 device1 100 100
9 2020-02-15 18:02:14 device1 0 0