Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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 比较两个不同日期对应的a值的平均值?_Python_Pandas_Date_Average_Data Science - Fatal编程技术网

Python 比较两个不同日期对应的a值的平均值?

Python 比较两个不同日期对应的a值的平均值?,python,pandas,date,average,data-science,Python,Pandas,Date,Average,Data Science,我有一张这样的桌子: Date Student Average(for that date) 17 Jan 2020 Alex 40 18 Jan 2020 Alex 50 19 Jan 2020 Alex 80 20 Jan 2020 Alex 70 17 Jan 2020 Jeff 10 18 Jan 2020 Jeff 50 19

我有一张这样的桌子:

Date          Student    Average(for that date)
17 Jan 2020   Alex          40  
18 Jan 2020   Alex          50
19 Jan 2020   Alex          80
20 Jan 2020   Alex          70
17 Jan 2020   Jeff          10
18 Jan 2020   Jeff          50
19 Jan 2020   Jeff          80
20 Jan 2020   Jeff          60
avg(score)(for current date) < ( avg(score)(for previous day) - (90% * avg(score)(for previous day) /100)
我想为“高”和“低”添加一列。该栏的逻辑应该是,只要学生今天的平均分数大于前几天分数的90%,该栏就应该是高的。 就像我的比较看起来像这样:

Date          Student    Average(for that date)
17 Jan 2020   Alex          40  
18 Jan 2020   Alex          50
19 Jan 2020   Alex          80
20 Jan 2020   Alex          70
17 Jan 2020   Jeff          10
18 Jan 2020   Jeff          50
19 Jan 2020   Jeff          80
20 Jan 2020   Jeff          60
avg(score)(for current date) < ( avg(score)(for previous day) - (90% * avg(score)(for previous day) /100)
avg(分数)(当前日期)<(avg(分数)(前一天)-(90%*avg(分数)(前一天)/100)
我想不出如何将日期部分纳入我的公式中。它会将当天的平均值与前一天的平均值进行比较

我正在与熊猫合作,所以我想知道是否有一种方法可以将其融入其中。

IIUC

df['Previous Day'] = df.sort_values('Date').groupby('Student')['Average'].shift()*.90

df['Indicator'] = np.where(df['Average']>df['Previous Day'],'High','Low')

df
输出:

        Date Student  Average  Previous Day Indicator
0 2020-01-17    Alex       40           NaN       Low
1 2020-01-18    Alex       50          36.0      High
2 2020-01-19    Alex       80          45.0      High
3 2020-01-20    Alex       70          72.0       Low
4 2020-01-17    Jeff       10           NaN       Low
5 2020-01-18    Jeff       50           9.0      High
6 2020-01-19    Jeff       80          45.0      High
7 2020-01-20    Jeff       60          72.0       Low
谢谢:)这对我要找的东西起了作用,但有一点变化。