У меня есть dataframe, df и я хочу изменить значение в столбце «Status» для каждого «Id»
Правило таково: если «Status» == «High», обновите строки до «Before»Еще «После»
Фрейм данных, df:
Id Status
0 1 Low
1 1 Low
2 1 High
3 1 Low
4 2 Low
5 2 Low
6 2 High
7 2 Low
8 3 Low
9 3 Low
10 3 High
11 3 Low
12 3 High
13 3 Low
Мой ожидаемый df:
Id Status
0 1 Before
1 1 Before
2 1 High
3 1 After
4 2 Before
5 2 Before
6 2 High
7 2 After
8 3 Before
9 3 Before
10 3 High
11 3 After
12 3 High
13 3 After
Это мой код до сих пор, (я не добавилПравило еще изменить на «После» еще)
df.loc[df.groupby(['Id'])['Status'] == "High", df['Status'].shift(1)] = 'Before'
Я получил ошибку:
ValueError: cannot index with vector containing NA / NaN values