Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据熊猫中的条件添加值_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 根据熊猫中的条件添加值

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),

如果当前值>上一个值(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), 
                                   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