1) Мой фрейм данных Pandas состоит из панели временных рядов (C1, C2, C3.
2). Временные ряды индексируются с самого последнего периода «5» до 4 дней назад «0».
3) Я хочу создать столбец, который идентифицирует только строки, в которых только 1 временной ряд имел уникальный максимум.Как только эта строка идентифицирована, этот временной ряд будет сравниваться с двумя предыдущими лагами, чтобы увидеть, больше ли его текущее значение, чем его запаздывающие значения (то есть shift (-1) и shift (-2)).Также для того, чтобы произошел рост shift (-1)> shift (-2).
4) Например, Gwth_Col (столбец роста) равен 1 (C1) для первого значения.C1 - самое большое значение в текущей строке, оно больше, чем его задержка в 1 период, и его задержка в 1 период больше, чем задержка в 2 периода.
Я понимаю части головоломки, благодаря авторам Stackoverflow, ноЯ не могу набрать силу, собрав его вместе, чтобы создать гибкую функцию или применить функцию для вычисления этого нового столбца.Спасибо за любую помощь, очень ценю это!
# Find out which unique exhibited growth in the time series.
# create a dictionary
dict = {
'C1': [9,7,6,6,7,8],
'C2': [8,8,7,6,5,6],
'C3': [5,5,3,2,1,7],
'Gwth_Col':[1,2,2,0,0,0]
}
# create a list of strings
columns = ['C1', 'C2','C3','Gwth_Col']
index = [5,4,3,2,1,0]
# Passing a dictionary
# key: column name
# value: series of values
df = pd.DataFrame(dict, columns=columns, index=index)
df