У меня есть данные, как показано ниже.Я хотел бы выбрать строки на основе двух условий.
1) строк, которые начинаются с цифр (1,2,3 и т. Д.)
2) предыдущей строки записей, которые удовлетворяют 1-му условию
Пожалуйста, найдите, как выглядят входные данные

Пожалуйста, найдите, как я ожидаю, что результат будет

Я пытался использовать функцию shift (-1), но, похоже, выдает ошибку.Я уверен, что перепутал логику / синтаксис.Пожалуйста, найдите код ниже, что я пытался
# i get the index of all records that start with number.
s=df1.loc[df1['VARIABLE'].str.contains('^\d')==True].index
# now I need to get the previous record of each group but this is
#incorrect
df1.loc[((df1['VARIABLE'].shift(-1).str.contains('^\d')==False) &
(df1['VARIABLE'].str.contains('^\d')==True))].index