найти среднее до x количество строк определенного столбца в кадре данных - PullRequest
1 голос
/ 22 февраля 2020

У меня есть данные в фрейме данных, как показано ниже, данные поступают с веб-сайта.

Difference столбец равен data-7.3

Day - это не что иное, как серийный номер, начинающийся с 1

index - это average строк в difference до текущей строки, умноженной на day. например,

Первая строка в индексе будет иметь average(0.19)*1

Вторая строка в индексе будет average(0.19,0.19)*2

Третья строка в индексе будет average(0.19,0.19,0.17)*3

data    difference  day index
7.49    0.19        1   0.19
7.49    0.19        2   0.38
7.47    0.17        3   0.55
7.46    0.16        4   0.71
7.45    0.15        5   0.86
7.44    0.14        6   1
7.43    0.13        7   1.13
7.43    0.13        8   1.26
7.43    0.13        9   1.39
7.42    0.12        10  1.51
7.41    0.11        11  1.62
7.41    0.11        12  1.73

Формула для index в Excel будет такой, как показано на рисунке:

Excel Image

Но я не знаю, как сделать это в pandas.

1 Ответ

3 голосов
/ 22 февраля 2020

Используйте Series.expanding с mean и несколькими столбцами day с Series.mul:

df['new'] = df['difference'].expanding().mean().mul(df['day'])
print (df)
    data  difference  day  index   new
0   7.49        0.19    1   0.19  0.19
1   7.49        0.19    2   0.38  0.38
2   7.47        0.17    3   0.55  0.55
3   7.46        0.16    4   0.71  0.71
4   7.45        0.15    5   0.86  0.86
5   7.44        0.14    6   1.00  1.00
6   7.43        0.13    7   1.13  1.13
7   7.43        0.13    8   1.26  1.26
8   7.43        0.13    9   1.39  1.39
9   7.42        0.12   10   1.51  1.51
10  7.41        0.11   11   1.62  1.62
11  7.41        0.11   12   1.73  1.73
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...