Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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_Database - Fatal编程技术网

Python 如何在数据帧中找到条件滚动平均值?

Python 如何在数据帧中找到条件滚动平均值?,python,database,Python,Database,我将数据帧设置为: st ft value 10 12 10 9 13 20 8 9 30 7 8 40 6 7 50 5 8 60 4 5 70 3 4 80 2 4 90 1 2 100 用于创建上述数据帧的代码: df=pd.数

我将数据帧设置为:

st      ft  value
10      12       10
9       13       20
8       9        30
7       8        40
6       7        50
5       8        60
4       5        70
3       4        80
2       4        90
1       2       100
用于创建上述数据帧的代码:

df=pd.数据帧([[10,9,8,7,6,5,4,3,2,1],[12,13,9,8,7,8,5,4,2], [10,20,30,40,50,60,70,80,90,100]].T.rename(列={0:“st”,1:“ft”,2:“value”})

在数据帧中有三列st(实验开始时间)、ft(实验完成时间)和value(观察值)。完成时间>开始时间。我想创建一个具有以前观察到的值的新列。但取最后一个观测值的条件是—— 完成时间(最后一行)
df['last\u observed\u value']=-10000
对于范围内的i(df.st.尺寸-1):
对于范围内的j(i,df.st.尺寸-1):
如果(df.st[j]
您能解释一下上次观察值所用的条件吗?请验证您的期望值表是否包含正确的值。对于上次观察到的值,如果当前行@paradox的st是正确的。是否可以以lamda表达式的形式写入?
st        ft    value   last_observed_value
10        12    10         30.0
9         13    20         30.0
8         9     30         40.0
7         8     40         50.0
6         7     50         70.0
5         8     60         70.0
4         5     70         80.0
3         4     80        100.0
2         4     90        100.0
1         2     100       None
df = pd.DataFrame([[10, 9, 8, 7, 6, 5, 4, 3, 2, 1], [12, 13, 9, 8, 7, 8, 5, 4,4,2], [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]]).T.rename(columns={0:"st", 1:"ft", 2:"value"})
df['last_observed_value'] =  -10000
for i in range(df.st.size - 1):
    for j in range(i,df.st.size - 1):
        if(df.st[j]< df.ft[j+1]):
            df['last_observed_value'][i] =  df.value[j+1]
        if(df.st[j] == df.ft[j+1]):
            df['last_observed_value'][i] =  df.value[j+1]
            break