Работа с упрощенными данными выборки учащихся, которые выглядят следующим образом:
Date | Loc | SID | Test | Score
----------------------------------------------
2018-03-01 L1 S1 T1 3
2018-03-01 L1 S1 T1 5
2018-03-01 L2 S3 T1 3
2018-03-03 L2 S3 T2 4
2018-03-03 L1 S2 T1 1
2018-03-03 L1 S1 T2 5
2018-03-03 L1 S1 T1 4
2018-03-03 L1 S2 T3 7
2018-03-03 L2 S1 T1 5
2018-03-05 L1 S2 T2 3
2018-03-05 L2 S1 T1 1
2018-03-05 L1 S3 T2 5
2018-03-05 L1 S2 T1 8
2018-03-05 L1 S1 T1 6
2018-03-05 L2 S1 T1 3
2018-03-05 L2 S3 T3 5
2018-03-08 L2 S2 T2 4
2018-03-08 L2 S1 T2 2
2018-03-09 L1 S3 T1 6
2018-03-09 L2 S3 T1 5
2018-03-09 L1 S1 T3 8
2018-03-09 L1 S1 T3 6
2018-03-11 L1 S3 T2 6
2018-03-11 L2 S3 T1 9
2018-03-11 L1 S3 T2 3
2018-03-11 L1 S1 T1 5
2018-03-11 L2 S1 T1 4
2018-03-11 L1 S1 T3 9
2018-03-14 L2 S2 T1 3
2018-03-14 L1 S2 T1 3
Хотел бы сгруппировать (Loc, SID, Test) и рассчитать средний балл и средневзвешенный балл на основе еженедельной повторной выборкитак что это выглядит примерно так (не завершено, только показывает Неделю 1):
| # Times Test Taken | Avg. Score | Wgtd Avg. Score
------------|------------------------------------------------------
Week 1| L1 S1 T1 | 4 | 4.50 |
T2 | 1 | 5.00 |
S2 T1 | 2 | 4.50 |
T2 | 1 | 3.00 |
T3 | 1 | 7.00 |
S3 T2 | 1 | 5.00 |
L2 S1 T1 | 3 | 3.00 |
S3 T1 | 1 | 4.00
Пока у меня есть:
import pandas as pd
df = pd.read_csv(TheData)
df2 = df.copy()
df2.Date = pd.to_datetime(df2.Date)
df2.set_index('Date', inplace=True)
df3 = df2.copy()
df3.groupby(['Loc', 'SID', 'Test']).resample('W')['Score'].count()
# df3.groupby(['Loc', 'SID', 'Test']).resample('W').count()
df3.groupby(['Loc', 'SID', 'Test']).resample('W').mean()
Я считаю, что у меня есть правильная информация для "# Times Test Taken "и" Средняя оценка ".Как я могу передать эту информацию в новые столбцы в том же кадре данных?
Для взвешенного среднего.балл, я открыт для предложений о том, как рассчитать его так, чтобы он мог отражать различия в типе теста (T1-T3) в том, что касается балла.Я даже не уверен, что я даже думаю об этой метрике в правильном направлении.
Будет продолжать обновляться по мере моего прогресса.Любая обратная связь с благодарностью.