Я хочу создать новый столбец ['Result'], который вычисляет скользящее среднее двух последних «значений», сгруппированных по на каждую уникальную единицу «времени». , исключая/пропуская строки, где df['Flag'] == 1 из моего обзора. Размер моего прокручивающегося окна равен 2, и я хочу сдвинуться на 1 (т. е. исключить текущую строку «Значение» из расчета)
Результирующий кадр данных должен быть равен приведенному ниже:
Результат в строке 8 = среднее значение строки 4 и строки 2 [(15+ 10)/2] = 12,5. Т.е. он использует два последних значения для 00:30, исключая значение из строки 6 из ретроспективного анализа.
Результат в строке 4 = среднее значение строки 2 и строки 0 [(10+ 5)/2] = 7,5. Т.е. он использует два последних значения для 00:30 без значений, где df['Flag'] == 1.
Time Value Flag Result
0 00:30 5 0 NaN
1 01:00 5 0 NaN
2 00:30 10 0 5.0
3 01:00 10 1 NaN
4 00:30 15 0 7.5
5 01:00 15 1 NaN
6 00:30 20 1 NaN
7 01:00 20 0 12.5
8 00:30 25 1 NaN
9 01:00 25 0 17.5
10 00:30 30 1 NaN
11 01:00 30 0 22.5
Мое решение просто исключает расчет скользящего среднего для строк, где df['Flag'] == 1. Я хочу вычислить скользящее среднее для всех строк, но исключить значения из ретроспективного анализа, где df['Flag'] == 1.
У меня есть фрейм данных pandas — df [code] Time Value Flag 0 00:30 5 0 1 01:00 5 0 2 00:30 10 0 3 01:00 10 1 4 00:30 15 0 5 01:00 15 1 6 00:30 20 1 7 01:00 20 0 8 00:30 25 1 9 01:00 25 0 10 00:30 30 1 11 01:00 30 0 [/code] Я хочу создать новый столбец ['Result'], который вычисляет скользящее среднее двух последних «значений», сгруппированных по на каждую уникальную единицу «времени». , исключая/пропуская строки, где df['Flag'] == 1 из моего обзора. Размер моего прокручивающегося окна равен 2, и я хочу сдвинуться на 1 (т. е. исключить текущую строку «Значение» из расчета) Результирующий кадр данных должен быть равен приведенному ниже: [code] Time Value Flag Result 0 00:30 5 0 n/a 1 01:00 5 0 n/a 2 00:30 10 0 n/a 3 01:00 10 1 n/a 4 00:30 15 0 7,5 5 01:00 15 1 n/a 6 00:30 20 1 12,5 7 01:00 20 0 n/a 8 00:30 25 1 12,5 9 01:00 25 0 12,5 10 00:30 30 1 12,5 11 01:00 30 0 22,5 [/code] Примеры логики: [list] [*]Результат в строке 8 = среднее значение строки 4 и строки 2 [(15+ 10)/2] = 12,5. Т.е. он использует два последних значения для 00:30, исключая значение из строки 6 из ретроспективного анализа. [*]Результат в строке 4 = среднее значение строки 2 и строки 0 [(10+ 5)/2] = 7,5. Т.е. он использует два последних значения для 00:30 без значений, где df['Flag'] == 1. [/list] Data [code]import pandas as pd
print(df) [/code] Вывод: [code] Time Value Flag Result 0 00:30 5 0 NaN 1 01:00 5 0 NaN 2 00:30 10 0 5.0 3 01:00 10 1 NaN 4 00:30 15 0 7.5 5 01:00 15 1 NaN 6 00:30 20 1 NaN 7 01:00 20 0 12.5 8 00:30 25 1 NaN 9 01:00 25 0 17.5 10 00:30 30 1 NaN 11 01:00 30 0 22.5 [/code] Мое решение просто исключает расчет скользящего среднего для строк, где df['Flag'] == 1. Я хочу вычислить скользящее среднее для всех строк, но исключить значения из ретроспективного анализа, где df['Flag'] == 1.
Цель: вычислить расширяющееся среднее значение столбца «оценка» для каждой группы «слизняков», исключая значение текущей строки (и соблюдая порядок, например «неделя»).
Пример набора данных (выход — желаемый результат).
idx week slug valuation...
Цель: вычислить расширяющееся среднее значение столбца «оценка» для каждой группы «слизняков», исключая значение текущей строки (и соблюдая порядок, например «неделя»).
Пример набора данных (выход — желаемый результат).
idx week slug valuation...
Цель: вычислить расширяющееся среднее значение столбца «оценка» для каждой группы «слизняков», исключая значение текущей строки (и соблюдая порядок, например «неделя»).
Пример набора данных (выход — желаемый результат).
idx week slug valuation...
Данные, с которыми я работаю:
data (140631115432592), ndim: 2, size: 3947910, shape: (232230, 17)
VIN (1-10) object
County object
City object
State object
Postal Code float64
Model Year int64
Make object
Model object
Electric Vehicle Type object...