У меня есть фрейм данных, который описывает статус человека:
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8, 3],
'B': [6, 7, 8, 9, 10, 23, 11, 12, 13],
'C': ['start', 'running', 'running', 'end', 'running', 'start', 'running', 'resting', 'end']})
Этот фрейм данных записывает две поездки человека. Я хочу разделить его на основе значений столбца C, «начало» и «конец». Другие значения в столбце C не имеют значения.
Я мог бы разделить фрейм данных на следующие коды:
x=[]
y=[]
for i in range(len(df)):
if df['C'][i]=='start':
x.append(i)
elif df['C'][i]=='end':
y.append(i)
for i, j in zip(x, y):
new_df = df.iloc[i:j+1,:]
print(new_df)
Однако мне интересно, есть ли более эффективный способ разделите его без l oop, так как у меня довольно большой массив данных.