(python) В настоящее время у меня есть pandas фрейм данных, который выглядит примерно так:
player | year | points |
-----------------------------------------------
LeSean McCoy | 2012 | 199.3 |
-----------------------------------------------
LeSean McCoy | 2013 | 332.6 |
-----------------------------------------------
LeSean McCoy | 2014 | 200.4 |
-----------------------------------------------
Я пытаюсь добавить новый столбец в фрейм данных, который содержит предыдущий год игрока points
.
Я могу сделать groupby
, который преобразует фрейм данных в одну строку в этом примере, причем каждый year
является отдельным столбцом. Однако мне нужен только один добавленный столбец, например:
player | year | points | prev_year_pts |
-----------------------------------------------------------------------
LeSean McCoy | 2012 | 199.3 | 0 |
-----------------------------------------------------------------------
LeSean McCoy | 2013 | 332.6 | 199.3 |
-----------------------------------------------------------------------
LeSean McCoy | 2014 | 200.4 | 332.6 |
-----------------------------------------------------------------------
Настоящий фрейм данных, с которым я работаю, имеет более 300 уникальных имен игроков, поэтому я пытался найти решение в этом примере. который также сможет работать с другим именем игрока в примере с желаемым результатом, например:
player | year | points | prev_year_pts |
------------------------------------------------------------------------------
LeSean McCoy | 2012 | 199.3 | 0 |
------------------------------------------------------------------------------
LeSean McCoy | 2013 | 332.6 | 199.3 |
------------------------------------------------------------------------------
LeSean McCoy | 2014 | 200.4 | 332.6 |
------------------------------------------------------------------------------
Christian McCaffrey | 2017 | 228.6 | 0 |
------------------------------------------------------------------------------
Christian McCaffrey | 2018 | 385.5 | 228.6 |
------------------------------------------------------------------------------
Christian McCaffrey | 2019 | 471.2 | 385.5 |
------------------------------------------------------------------------------
Мне удалось добавить столбец prev_year
со следующим кодом:
example["prev_year"] = [x-1 for x in example.groupby(["player"])["year"].get_group("LeSean McCoy")]
Но я застрял в том, как получить prev_year_points
из этого и как реализовать таким образом, чтобы можно было вычислить это для каждого player
наблюдения ...